37、给定程序中,函数fun的功能是将形参给定的字符串、整数、浮点数写到文本文件中,再用字符方式从此文本文件中逐个读入并显示在终端屏幕上。
请在程序的下划线处填入正确的内容并把下划线删除, 使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构! #include
void fun(char *s, int a, double f) {
/**********found**********/ __1__ fp; char ch;
fp = fopen(\
fprintf(fp, \ fclose(fp);
fp = fopen(\ printf(\ ch = fgetc(fp);
/**********found**********/ while (!feof(__2__)) {
/**********found**********/
putchar(__3__); ch = fgetc(fp); } putchar('\\n'); fclose(fp); }
main()
{ char a[10]=\ int b=12345; double c= 98.76; fun(a,b,c); }
38、给定程序中,函数fun的功能是:将形参n中,各位上为偶数的数取出,并按原来从高位到低位相反的顺序组成一个新的数,并作为函数值返回。
例如,输入一个整数:27638496,函数返回值为:64862。
请在程序的下划线处填入正确的内容并把下划线删除, 使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构! #include
unsigned long fun(unsigned long n) { unsigned long x=0; int t; while(n) { t=n;
/**********found**********/ if(t%2==__1__)
/**********found**********/ x=__2__+t;
/**********found**********/ n=__3__; }
return x; }
main()
{ unsigned long n=-1; while(n>99999999||n<0)
{ printf(\ scanf(\ } printf(\}
39、给定程序中,函数fun的功能是计算下式
例如,若形参e的值为1e-3,函数的返回值2.735678。
21
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构! #include
/**********found**********/ s=0; i=__1__; x=1.0;
while(x>e){
/**********found**********/ __2__;
/**********found**********/ x=(2.0*i-1)/((__3__)*(2.0*i)); s=s+x; }
return s; }
main()
{ double e=1e-3;
printf(\}
40、给定程序中,函数fun的功能是:将形参n所指变量中,各位上为偶数的数去除,剩余的数按原来从高位到低位的顺序组成一个新的数,并通过形参指针n传回所指变量。 例如,输入一个数:27638496,新的数:为739。
请在程序的下划线处填入正确的内容并把下划线删除, 使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构! #include
void fun(unsigned long *n)
{ unsigned long x=0, i; int t; i=1;
while(*n)
/**********found**********/ { t=*n % __1__;
/**********found**********/ if(t%2!= __2__)
{ x=x+t*i; i=i*10; } *n =*n /10; }
/**********found**********/ *n=__3__; }
main()
{ unsigned long n=-1; while(n>99999999||n<0)
{ printf(\ fun(&n);
printf(\}
41、给定程序中,函数fun的功能是将带头结点的单向链表逆置。即若原链表中从头至尾结点数据域依次为:2、4、6、8、10,逆置后,从头至尾结点数据域依次为:10、8、6、4、2。
请在程序的下划线处填入正确的内容并把下划线删除, 使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构! #include
struct node *next; } NODE;
void fun(NODE *h) { NODE *p, *q, *r; 22
/**********found**********/ p = __1__;
/**********found**********/ if (__2__) return; q = p->next;
p->next = NULL; while (q)
{ r = q->next; q->next = p; /**********found**********/ p = q; q = __3__; }
h->next = p; }
NODE *creatlist(int a[])
{ NODE *h,*p,*q; int i; h = (NODE *)malloc(sizeof(NODE)); h->next = NULL; for(i=0; i { q=(NODE *)malloc(sizeof(NODE)); q->data=a[i]; q->next = NULL; if (h->next == NULL) h->next = p = q; else { p->next = q; p = q; } } return h; } void outlist(NODE *h) { NODE *p; p = h->next; if (p==NULL) printf(\ else { printf(\ \ do { printf(\ } while(p!=NULL); printf(\ } } main() { NODE *head; int a[N]={2,4,6,8,10}; head=creatlist(a); printf(\ outlist(head); fun(head); printf(\ outlist(head); } 42、给定程序中,函数fun的功能是:计算形参x所指数组中N个数的平均值(规定所有数均为正数),将所指数组中小于平均值的数据移至数组的前部,大于等于平均值的数据移至x所指数组的后部,平均值作为函数值返回,在主函数中输出平均值和移动后的数据。 例如,有10个正数:46 30 32 40 6 17 45 15 48 26,平均值为:30.500000 移动后的输出为:30 6 17 15 26 46 32 40 45 48 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构! #include { int i, j; double av, y[N]; av=0; /**********found**********/ for(i=0; i 23 if( x[i] /**********found**********/ y[j]=x[i]; x[i]=-1; __2__;} i=0; while(i { if( x[i]!= -1 ) y[j++]=x[i]; /**********found**********/ __3__; } for(i=0; i main() { int i; double x[N]; for(i=0; i printf(\ printf(\ for(i=0; i 43、给定程序中,函数fun的功能是:利用指针数组对形参ss所指字符串数组中的字符串按由长到短的顺序排序,并输出排序结果。ss所指字符串数组中共有N个字符串,且串长小于M。 请在程序的下划线处填入正确的内容并把下划线删除, 使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构! #include void fun(char (*ss)[M]) { char *ps[N],*tp; int i,j,k; for(i=0; i /**********found**********/ k= __1__ ; for(j=i+1; j /**********found**********/ if(strlen(ps[k]) < strlen(__2__) ) k=j; /**********found**********/ tp=ps[i]; ps[i]=ps[k]; ps[k]= __3__ ; } printf(\ for(i=0; i main() { char ch[N][M]={\ int i; printf(\ for(i=0;i 44、给定程序中,函数fun的功能是:将形参s所指字符串中所有ASCII码值小于97的字符存入形参t所指字符数组中,形成一个新串,并统计出符合条件的字符个数作为函数值返回。 例如,形参s所指的字符串为:Abc@1x56*,程序执行后t所指字符数组中的字符串应为:A@156*。 请在程序的下划线处填入正确的内容并把下划线删除, 使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构! #include int fun(char *s, char *t) { int n=0; while(*s) { if(*s < 97) { /**********found**********/ 24 *(t+n)= __1__ ; n++; } /**********found**********/ __2__ ; } *(t+n)=0; /**********found**********/ return __3__ ; } main() { char s[81],t[81]; int n; printf(\ gets(s); n=fun(s,t); printf(\} 45、程序通过定义学生结构体变量,存储了学生的学号、姓名和3门课的成绩。所有学生数据均以二进制方式输出到文件中。函数fun的功能是重写形参filename所指文件中最后一个学生的数据,即用新的学生数据覆盖该学生原来的数据,其它学生的数据不变。 请在程序的下划线处填入正确的内容并把下划线删除, 使程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构! #include char name[10]; float score[3]; } STU; void fun(char *filename, STU n) { FILE *fp; /**********found**********/ fp = fopen(__1__, \/**********found**********/ fseek(fp, -1L*sizeof(STU), __2__); /**********found**********/ fwrite(__3__, sizeof(STU), 1, fp); fclose(fp); } main() { STU t[N]={ {10001,\ {10003,\ {10004,\ {10005,\ STU n={10006,\ int i,j; FILE *fp; fp = fopen(\ fwrite(t, sizeof(STU), N, fp); fclose(fp); fp = fopen(\ fread(ss, sizeof(STU), N, fp); fclose(fp); printf(\ for (j=0; j { printf(\ Name: %-8s Scores: \ for (i=0; i<3; i++) printf(\ printf(\ } fun(\ printf(\ fp = fopen(\ fread(ss, sizeof(STU), N, fp); fclose(fp); for (j=0; j { printf(\ Name: %-8s Scores: \ for (i=0; i<3; i++) printf(\ printf(\ } 25