资源描述:
《c语言上机试题2(综合运用)》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、1、请编写函数fun,函数的功能是:移动字符串中的内容,移动的规则如下:把第1到第m个字符,平移到字符串的最后,把第m+1到最后的字符移到字符串的前部。例如,字符串中原有的内容为:ABCDEFGHIJK,m的值为3,则移动后,字符串中的内容应该是:DEFGHIJKABC。注意:部分源程序在文件PROG1.C中。请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。#include#includeintNONO(void);#defineN80voidfun1(char*w)/*本函数的功能是将字符串中字符循环左移一个位
2、置*/{inti;chart;t=w[0];for(i=0;i3、ing:");puts(a);printf("");NONO();return0;}intNONO(void){/*请在此函数内打开文件,输入测试数据,调用fun函数,输出数据,关闭文件。*/FILE*rf,*wf;chara[N];intm,i;rf=fopen("./01/in.dat","r");wf=fopen("./01/out.dat","w");for(i=0;i<10;i++){fscanf(rf,"abc%d%s",&m,a);fun(a,m);fprintf(wf,"%s",a);}fclose(rf);fclose(wf);return1;}2、学生的记录
4、由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,它的功能是:把指定分数范围内的学生数据放在b所指的数组中,分数范围内的学生人数由函数值返回。例如,输入的分数是6069,则应当把分数在60到69的学生数据进行输出,包含60分和69分的学生数据。主函数中将把60放在low中,把69放在heigh中。注意:部分源程序在文件PROG1.C文件中。请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。#include#defineN16typedefstruct{charnum[10];ints;}STREC;in
5、tfun(STREC*a,STREC*b,intl,inth){inti,j=0;for(i=0;i=l&&a[i].s<=h){b[j]=a[i];j++;}}returnj;}intmain(void){STRECs[N]={{"GA005",85},{"GA003",76},{"GA002",69},{"GA004",85},{"GA001",96},{"GA007",72},{"GA008",64},{"GA006",87},{"GA015",85},{"GA013",94},{"GA012",64},{"GA014",91},{"GA011",90
6、},{"GA017",64},{"GA018",64},{"GA016",72}};STRECh[N],tt;FILE*out;inti,j,n,low,heigh,t;printf("Enter2integernumberlow&heigh:");scanf("%d%d",&low,&heigh);if(heigh7、].num,h[i].s);printf("");out=fopen("./02/out.dat","w");n=fun(s,h,80,98);fprintf(out,"%d",n);for(i=0;ih[j].s){tt=h[i];h[i]=h[j];h[j]=tt;}for(i=0;i