第1套
给定程序中,函数fun 的功能是根据形参i 的值返回某个函数的值。当调用正确时,程序输出:
xl=5.000000, x2=3.000000, x 1﹡x1+x1﹡x2=40.000000
请在程序的下划线处填写正确的内容并
double ②f1 ③f2
char *fun(char *s,char *t) ②ss++; fun(char *w, int m) char a[N]; int i; for(i=0;i
}
第2套
程序通过定义学生结构体数组,存储了若干名学生的学号、姓名和3门课的成绩。函数fun 的功能是将存放学生数据的结构体数组,按照姓名的字典序(从小到大)排序。
请在程序的下划线处填入政务而的内容并把下划线删除,使程序得出正确的结struct student ②n-1
q=p+i; ②while(q>p)
fun( STREC *a,STREC *b,int { int i,j=0; for(i=0;i
第3套
给定程序中,函数fun 的功能是;计算形参x 所指数组中N 个数的平均值(规定所有数均为正数),作为函数值返回;并将大于平均值的数放在形参y 所指数组中,在主函数中输出。
例如,有10个正数:46 30 32 40 6 17 45 15 48 26,平均值为30.500000
主函数中输出:46 32 40 45 48 请在程序的下划线处填入正确的内容
x[i]/N ③j++
double fun(int m) ② STU a[], STU *s ) int i; *s=a[0];
for(i=1;i
第4套
给定程序中,函数fun 的功能是:将a 所指4×3矩阵中第k 行的元素与第0行元素交换。
例如,有下列矩阵: 1 2 3 4 5 6 7 8 9 10 11 12
若k 为2,程序执行结果为:
7 8 9 4 5 6 1 2 3 10 11 12
请在程序的下划线处填入正确的内容并 k ②N ③
a[k][i]
for(i = strlen( t )-1; i;i--) ②if(t[j] > int i=1;
while(ss[i-1] && ss[i]) { if(ss[i]>='a' && ss[i]<='z') ss[i]+='A'-'a'; i+=2; } }
第5套
给定程序中,函数fun 的功能是将a 和b 所指的两个字符串转换成面值相同的整数,并进行相加作为函数值返回,规定字符串中只含9个以上数字字符。
例如,主函数中输入字符串:32486和
12345,在主函数中输出的函数值为:44831。
请在程序的下划线处填入正确的内容 '0' ②s++ ③
ctod(a)+ctod(b)
void fun ( char *s, int *a, int *b ) ③++(*b);
h ) long i=h*1000; if(i%10<5) return (i/10)/100.0; else return (i/10+1)/100.0; }
第6套
③
(t*t)
for(i=0;str[i];i++) ② fun ( double eps) double i=1,a=1,b=1,c=1,s=0; while(c>=eps) { s+=c; a*=i; b*=2*i+1; c=a/b; i++; } return s*2; }
第7套
给定程序中,函数fun 的功能是:在3×4的矩阵中找出在行上最大、在列上最小的那个元素,若没有符合条件的元素则输出相应信息。
例如,在下列矩阵: 1 2 13 4 7 8 10 6 3 5 9 7
程序执行结果为:find :a[2][2]=9 请在程序的下划线处填入正确的内容
j ②0 ③i++
for(i=2;i<=m;i++) ②y -=1.0/i/i; int i,j=0,s=0;
for(i=0;i for(i=0;i j++; } } return j; } 第8套 给定程序中,函数fun 的功能是:在形参ss 所指字符串数组中,删除所有串长超过k 的字符串,函数返回所剩字符串的个数。Ss 所指字符串数组中共有N 个字符串,且串长小于M 。 请在程序的下划线处填入正确的内容 N ②k ③ss[i] int k=0; ②while( *p || *q ) fun( char *a ) int i=0,j=0; while(a[i]) { if(j==0 && a[i]!='*') { j=i+1; } else if(a[i]!='*') { a[j]=a[i]; j++; } i++; } a[j]=0; } 第9套 程序通过定义学生结构体变量,存储了学生的学号、姓名和3门课的成绩。函数fun 的功能是将形参a 所指结构体变量中的数据赋给函数中的结构体变量b ,并修改b 中的学号和姓名,最后输出修改后的数据。例如:a 所指变量中的学号、姓名和3门课的成绩依次是:10001、〝Zhangsan 〝、95、80、88,则修改后输出b 中的数据应为:10002、〝LiSi 〝、95、80、88。 请在程序的下划线处填入正确的内容 a ②https://www.wendangku.net/doc/352820497.html, ③score[i] s[j++]=s[i]; ②s[j]=0; fun( char *a ) int i=0,j=0; while(a[i]) { if(a[i]!='*') { j=i; break; } i++; } while(a[i]) { a[i-j]=a[i]; i++; } i-=j; for(;j>0;j--) { a[i]='*'; i++; } } 第10套 给定程序中,函数fun 的功能是:在形参ss 所指字符串数组中,将所有串长超过k 的字符串中右边的字符删除,只保留左边的k 个字符。Ss 所指字符串数组中共有N 个字符串,且串长小于M 。 请在程序的下划线处填入正确的内容 [M] ②N ③0 t=1; ②return(2*s); fun( char *a, int n ) int i=0,j=0; while(a[i]) { if(a[i]!='*') { j=i; break; } i++; } if(j>n) { while(a[i]) { a[i-j+n]=a[i]; i++; } a[i-j+n]=0; } } 第11套 给定程序中,函数fun 的功能是,把形参s 所指字符串中最右边的n 个字符复制到形参t 所指字符数组中,形成一个新串。若s 所指字符串的长度小于n ,则将整个字符串复制到形参t 所指字符数组中。 例如,形参s 所指的字符串为:abcdefgh ,n 的值为5,程序执行后t 所指字符数组中的字符串应为:defgh 。 请在程序的下划线处填入正确的内容 t,s ②s[i] ③0 if(i%k==0) ②if(k>=i) fun ( int x, int pp[], int *n ) int i; *n=0; for(i=1;i<=x;i+=2) { if(x%i==0) { pp[*n]=i; (*n)++; } } } 第12套 给定程序中,函数fun 的功能是:将形参s 所指字符串中所有数字字符顺序前移,其他字符顺序后移,处理后新字符串的首地址作为函数值返回。 例如,s 所指字符串为:asd123fgh5##43df ,处理后新字符串为:123543asdfgh##df 。 请在程序的下划线处填入正确的内容 j ②k ③p while(i *s, char t[]) int i=0,j=0; while(s[i]) { if(i%2!=0 || s[i]%2==0) { t[j]=s[i]; j++; } i++; } t[j]=0; } 第13套 给定程序中,函数fun 的功能是:找出100~999之间(含100和999)所有整数中各位上数字之和为x (x 为一正整数)的整数,然后输出;符合条件的整数个数作为函数值返回。 例如,当x 值为5时,100~999之间各位上数字之和为5的整数有:104、113、122、131、140、203、212、221、230、302、311、320、401、410、500。共有15个。当 x 值为27时,各位数字之和为27的整数是:999。只有1个。 请在程序的下划线处填入正确的内容 ②t/10 ③x void fun(long s,long *t) ② *c=a/10*100+a%10+b/10*10+b%10*1000; } 第14套 给定程序中,函数fun 的功能是:将形参s 所指字符串中的数字字符转换成对应的数值,计算出这些数值的累加和作为函数值返回。 例如,形参s 所指的字符串为:abs5def126jkm8,程序执行后的输出结果为:22。 请在程序的下划线处填入正确的内容 48 ②s++ ③ sum if ((k%13 == 0) || (k%17 == 0)) ②} fun( int n) int i; double s=0; for(i=1;i if(i%3==0 && i%7==0) s+=i; } return sqrt(s); } 第15套 给定程序中,函数fun 的功能是将带头节点的单向链表结点数据域中的数据从小到大排序。即若原链表结点数据域从头至尾的数据为:10、4、2、8、6,排序后链表结点数据域从头至尾的数据为:2、4、6、8、10。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 h->next ②p->next ③>= p=h->next; ②p=p->next; fun(int (*s)[10], int *b, int { int i,j; *n=0; for(i=0;i b[*n]=s[i][j]; (*n)++; } } 第16套 程序通过定义学生结构体变量,存储了学生的学号、姓名和3门课的成绩。函数fun 的功能是将形参a 所指结构体变量s 中的数据进行修改,并把a 中地址作为函数值返回主函数,在主函数中输出修改后数据。 例如:a 所指变量s 中的学号、姓名、和三门课的成绩依次是:10001、〝ZhangSan 〞、95、80、88 ,修改后输出t 中的数据应为:10002、〝LiSi 〞、96、81、89。 请在程序的下划线处填入正确的内容 struct student * ②a->score[i] ③a char *fun( char (*sq)[M] ) ②sp; fun( STREC a[] ) int i,j; STREC b; for(i=0;i 第17套 给定程序中,函数fun 的功能是:计算形参x 所指数组中N 个数的平均值(规定所有数均为正数),将所指数组中大于平均值的数据移至数组的前部,小于等于平均值的数据移至x 所指数组的后部,平均值作为函数值返回,在主函数中输出平均值和移动后的数据。 例如,有10个正数:46 30 32 40 6 17 45 15 48 26,平均值为:30.50000 移动后的输出为:46 32 40 45 48 30 6 17 15 26 请在程序的下划线处填入正确的内容 s/N ②j++ ③-1 #include "stdio.h" ②upfst(char double s=0; int i; for(i=0;i s+=w[0][i]+w[N-1][i]+w[i][0]+w[i][N-1]; s-=w[0][0]+w[0][N-1]+w[N-1][0]+w[N-1][N-1]; return s/(N*4-4); } 第18套 给定程序中,函数fun 的功能是:计算出形参s 所指字符串中包含的单词个数,作为函数值返回。为便于统计,规定各单词之间用空格隔开。 例如,形参s 所指的字符串为:This is a C language pr0gram. ,函数的返回值为6。 请在程序的下划线处填入正确的内容 n++ ②0 ③s++ t+=s[k]; ②*aver=ave; int i; *k=0; for(i=0;i 第19套 给定程序中,函数fun 的功能是:在形参ss 所指字符串数组中查找与形参t 所指字符串相同的串,找到后返回该串在字符串数组的位置(下标值),未找到则返回-1. ss 所指字符串数组中共有N 个内容不同的字符串,且串长小于M 。 请在程序的下划线处填入正确的内容 N ②i ③-1 a2=k/10; ②return i; fun( char *a ) int i=0,j=0; while(a[i]) { if(a[i]!='*') j=0; else j++; i++; } a[i-j]=0; } 第20套 给定程序中,函数fun 的功能是:找出N ×N 矩阵中每列元素中最大值,并按顺序依次存放于形参b 所指的一维数组中。 请在程序的下划线处填入正确内容并 ②< ③x,y int fun(int *x,int *y) ② int i,j,k=0; for(i=2;i<=lim;i++) { for(j=2;j return k; } 第21套 给定程序中,函数fun 的功能是:判断形参s 所指字符串是否是〝回文〞(Palindrome ),若是,函数返回值为1;不是,函数返回值为0。〝回文〞是正读和反读都是一样的字符串(不区分大小字母)。 例如,LEVEL 和level 是〝回文〞,而LEVLEV 不是〝回文〞。 请在程序的下划线处填入正确的内容 s ②-- ③return 0 double fun (int n) ②c=a;a+=b;b=c; int i,j=m+1,n=0; while(n 第22套 程序通过定义学生结构体变量,存储了学生的学号、姓名和3门课的成绩。所有学生数据均以二进制方式输出到student.dat 文件中。函数fun 的功能是从指定文件中找出指定学号的学生数据,读入此学生数据, 对该生的分数进行修改,使每门课的分数加3分,修改后重写文件中该学生的数据,即用该学生的新数据覆盖原数据,其它学生数 据不变;若找不到,则什么都不做。 请在程序的下划线处填写正确的内容 feof(fp) ②==sno ③sizeof(STU) n=strlen( aa ); ②ch=aa[i]; fun( STREC *h ) double a=0; STREC *p=h->next; while(p) { if(a 第23套 程序通过定义学生结构体变量,存储了学生的学号、姓名和3门课的成绩。函数fun 的功能是将形参a 所指结构体变量中的数据赋给函数中的结构体变量b ,并修改b 中的学号和姓名,最后输出修改后的数据。例如:a 所指变量中的学号、姓名、和三门课的成绩依次是:10002、"ZhangQi"、93、85、87,则修改后输出b 中的数据应为:10002、"LiJie"、93、85、87。 填空:1.->sno 2.->name 3.&t 改错 1.double fun(double a,double x0) 2.if(fabs(x1-x0)>0.00001) 编程double fun(STREC *a,STREC *b,int *n) {int i; double s=0; for(i=0;i for(i=0;i return s; } 第24套 计算形参x 所指数组中N 个数的平均值作为函数值返回;并将大于平均值的数放在形参y 所指数组中,在主函数中输出。例如,有10个正数:46,30,32,40, 6,17,45,15,48,26,平均值为:30.500主函数中输出:46,32,40,45,48 填空:1.x[i]/N 2.j++ 3.i++ 改错 1.num[k]=0; 2.switch(*s) 编程 int fun(int a[M][N]) { int i , s=0; for(i=0;i s+=a[0][i]+a[M-1][i]; for(i=1;i 给定程序中,函数fun 的功能是计算下式s=1/22+3/42+5/62+……+(2*n-1)/(2*n)2,直到| (2*n-1)/(2*n)2 |<=10-3,并把计算结果作为函数值返回。例如,形参e 的值为1e-3,函数的返回值2.735678. 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果 填空1.0 2.i++ 3.2*i 改错1.void fun(char *s,char *t) 2.t[2*d]=0; 编程void fun(char *s,char t[]) { int i=0,j=0; while(s[i]) { if(i%2= =1&&s[i]= =1) { t[j]=s[i];j++;}} t[j]=0;} 第26套:给定程序中,函数FUN 的功能是建立一个NXN 矩阵。矩阵元素的构成规律是,最外层元素的值全为1,从外向内第2层元素的值全为2,第3层元素的值全为3,依次类推,若N 为5,生成的矩阵为 1 1 1 1 1 1 2 2 2 1 1 2 3 2 1 1 2 2 2 1 1 1 1 1 1 填空1.[N] 2.i 3.i+1 改错 1.aa[i]=m%k; 2.printf(“%d ”,aa[i-1]); 编程 fun(char(*a)[81],int num,char **max) { int i,j,k=strlen(a[0]); *max=a[0]; for(i=1;i *max=a[i];}}} 第27题:给定程序中,函数fun 的功能是用函数指针指向要调用的函数,并进行调用。规定在__2__处使f 指向函数f1,在__3__处使f 指向函数f2,当调用正确时, 程序输出:x1=5.000000 x2=3.000000 x1*x1+x1*x2=40.000000 填空1.double 2.f1 3.f2 改错1.p=h->next; 2.p=p->next; 编程int fun(char *str) { int i , j=0; while(str[j]) j++; for(i=0;i<=j/2;i++) if(str[i]!=str[j-i-1]) break; if(i>=j/2) return 1; else return 0;} 第28套:给定程序中,函数fun 的功能是将参数给定的字符串,整数,浮点数写到文本文件中,再用字符串方式从此文本文件中逐个读入,并调用函数atoi 和atof 将字符串转换成相应的整数,浮点数,然后将其显示在屏幕上。 填空1.FILE * 2.fclose(fp) 3.fp 改错 1.t=(STU *)calloc(sizeof(STU),m); 2.t[k]=b[j]; 编程 int fun(int a[],int n) { int i ,j=0; for(i=1;i {j++;a[j]=a[i];}} return j+1;} 第29套:给定程序中,函数fun 的功能是:计算下式前n 项的和作为函数的值返回。 s=(1*3)/22-(3*5)/42+(5*7)/62 -… +(-1)n-1(2*n-1)*(2*n+1)/(2+n)2 例如,当形参N 的值为10时,函数返回-0.204491。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果 填空1.1 2.2*i 3.(-1) 改错1.k++; 2.if(m= =k) 编程void fun(int a[],int n, int *max,int *d) { int i; *d=0; for(i=1;i if(a[i]>a[*d]) *d=i; *max=a[*d];} 第30套:程序通过定义学生结构体变量,存储了学生的学号,姓名和3门课的成绩,所有学生数据均以二进制方式输出到文件中,函数fun 的功能是重写形参filename 所指文件中最后一个学生的数据,即用新的学生数据覆盖该学生原来的数据,其他学生数据不变。填空1.filename 2.SEEK_END 3.&n 改错 1.p=(NODE *)malloc(sizeof(NODE)); 2.return h; 编程int fun(char *s) { int i=0,j=0,f=1; while(s[i]) { if(s[i]<’a ’||s[i]>’z ’) {if(f) j++; f=0;} else f=1; i++;} return j+1;} 第31套:给定程序中,函数fun 的功能是,计算X 所指数组中N 个数的平均值(规定所有数均为正数),平均值通过形参返回主函数,将小于平均值且最接近平均值的数作为函数值返回,在主函数中输出。例如,有10个正数:46 30 32 40 6 17 45 15 48 26,平均值为30.500000主函数中输出m=30.0 填空1.*av 2.i 3.x[j] 改错1.float fun(int n) 2.for(i=2;i<=n;i++) 编程int fun(int a[][N],int m) { int i ,j; for(i=0;i for(j=i;j 第32套:给定程序中,函数fun 的功能是将形参给定的字符串,整数,浮点数写到文本文件中,再用字符方式从此文本文件中逐个读入并现实在屏幕上。 填空1.FILE * 2.fp 3.ch 改错1.s[j++]=s[i]; 2.s[j]=0; 编程void fun(char (*s)[N]),char *b) { int i ,j ,k=0; for(i=0;i for(j=0;j { b[k]=s[j][i]; k++;}} 第33套:程序通过定义学生结构体变量,存储了学生的学号,姓名和3门课成绩,函数fun的功能是将形参a中的数据进行修改,把修改后的数据作为函数值返回主函数进行输出。例如,传给形参a 的数据中,学号,姓名和3门课成绩依次是:10001.“ZhangSan”,95,80,88.修改后的数据应为:10002,“LiSi”,96,81,89. 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果填空1.struct student https://www.wendangku.net/doc/352820497.html, 3.a.score[i] 改错1.if(p==n) return -1; 2.a[i]=a[i+1]; 编程int fun(STREC *a,STREC *b) { int i,j=0,s=a[0].s; for(i=1;i if(a[i].s for(i=0;i if(a[i].s= =s) { b[j]=a[i]; j++;} return j;} 第34套:给定程序中,函数fun的功能是:利用指针数组形参ss所指字符串数组中的字符串按由长到短的顺序排序,并输出排序结果。Ss所指字符串组中共有N个字符串,且串长小于M, 填空1.i 2.ps[i] 3.tp 改错1.double fun(int n) 2.return sum; 编程double fun(double x,int n) { int i; double a=1,b=1,s=1; for(i=1;i<=n;i++) { a*=x; b*=i; s+=a/b;} return s; } 第35套:给定程序中,函数fun的功能是,将形参s所指字符串中的所有字母字符顺序前移,其他字符顺序后移,处理后新字符串的首地址作为函数值返回。例如,s所指字符串为asd123fgh543df,处理后新字符串为asdfghdf12543填空1.s[i] 2.k 3.0 改错1.while(*w) 2.if(*r= =*p) 编程void fun(char *s,char t[]) { int i=0,j=0; while(s[i]) { if(s[i]%2= =0) { t[j]=s[i]; j++;} 第36套:给定程序中,函数fun的功能是计算下式S=3/22-5/42+7/62-…+(-1)n-1*(2n+1)/(2n)2,直到(2n+1)/2n2的绝对值小于等于10-3,并把计算结果作为函数值返回。例如,若E的值为1E-3,函数值为0.551690。填空1.3 2.> 3.(2*i+1) 改错1.double fun(int n) 2.s=s+(double)a/b; 编程fun(int a[][M]) { int i,s=a[0][0]; for(i=0;i if(a[0][i]>s)s=a[0][i]; if(a[1][i]>s)s=a[1][i]; } return s; } 第37套 给定程序中,将形参n所指变量中各位上为偶数的数去除,剩余的数按原来从高位到低位的顺序组成一个新的数,并通过形参指针n传回所指变量。例如,输入一个数:27638496,新的数:为739 填空:①10 ②20 ③x 改错:①if(n==0)②*result=n— 编程:long fun(char *p) { long i,s=0; if(p[0]=='-') { i=1; while(p[i]) { s=s*10+p[i]-'0'; i++; } s*=-1; } else { i=0; while(p[i]) { s=s*10+p[i]-'0'; i++; } } return s; } 第38套 给定程序中,函数fun的功能是,找出100至 x(x≤999)之间各位上的数字之和为15的 所有整数,然后输出;符合条件的整数个数 作为函数值返回。当n值为500时,各位数字 之和为15的整数有:159、168、177……共 有26个。 填空:①0 ②x ③t++ 改错:①int i,s1;②t[i]=s[s1-i-1]; 编程:void fun(int a,int b,long *c) { *c=a/10*100+a%10+b/10*1000+b%10*10; } 第39套 给定程序中,函数fun的功能是:判定形参 a所指的N*N(规定N为奇数)的矩阵是否 是“幻方”,若是函数返回值为1,不是函 数返回值为0。“幻方”的判定条件是:矩 阵每行、每列、主对角线及反对角线上元素 之和都相等。例如以下3*3的矩阵就是一个 “幻方”。 4 9 2 3 5 7 8 1 6 填空:①0 ②|| ③1 改错:①t-=1;②return t; 编程:long fun(char *str) { int i,k=0; char *p=str,s[81]; while(*p) { if(*p!=' ')s[k++]=*p; p++; } for(i=0;i str[i]=s[i]; str[i]='\0'; } 第40套 给定程序中,函数fun的功能是将a所指3*5 矩阵中第k列的元素左移到第0列、第k列 以后的每列元素依次左移,原来左边的各列 依次绕到右边。例如有以下矩阵: 1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 若k为2,移序执行结果为: 3 4 5 1 2 3 4 5 1 2 3 4 5 1 2 填空:①k ②N-1 ③temp 改错:①fun(int a[][M]),int m) ②a[j][k]=(k+1)*(j+1); 编程:long fun(char p1[],char p2[]) { char *p,*q; p=p1; q=p2; while(*p)p++; while(*q)*p++=*q++; *p='\0'; } 第41套 给定程序中,函数fun的功能是:调用随机函 数产生20个互不相同的整数放在形参a所指 数组中(此数组在主函数中已置0)。 填空:①N ②break ③n 改错:①sum=0 ②scanf(“%d”,&a[i][j]); 编程:long fun(int array[3][3]) { int i,j,t; for(i=0;i<3;i++) for(j=0;j { t=array[i][j]; array[i][j]=array[j][i]; array[j][i]=t; } } 第42套 给定程序中,函数fun的功能是:将不带头节 点的单向链表节点数据域中的数据从小到 大排序。即若原链表节点数据域从头至尾的 数据为10,4,2,8,6,排序后节点数据域 从头至尾的内容为2,4,6,8,10. 填空:①p->next②q ③p->next 改错:①while(*s)②s++ 编程:void fun(int *w,int p ,int n) { int i,a[N]; for(i=0;i for(i=0;i ; for(i=0;i<=p;i++)w[n-(p+1)+i]=a[i]; } 第43套 给定程序中,函数fun的功能是将带头结点 的单向链表逆置。即若原链表节点数据域从 头至尾的数据为2,4,6,8,10,逆置后节 点数据域从头至尾的内容为10,8,6,4,2 填空:①h->next②p==0 ③r 改错:①r=t;②if(*r==0) 编程:void fun(char a[M][N],char *b) { int i,k=0; char *p; for(i=0;i { p=a[i]; while(*p)b[k++]=*p++; } b[k]=’\0’; } 第44套 给定程序中,函数fun的功能是将形参n所指 变量中各位上为偶数的数取出,并按原来从 高位到低位相反的顺序组成一个新的数,并 作为函数值返回。例如,输入一个数: 27638496,新的数为64862。 请在程序的下划线处填入正确的内容并把 下划线删除,使程序得出正确的结果 填空:①0②10*x ③n/10 改错:①*t=0②if(d%2!=0) 编程:void fun(int a,int b,int *c) { *c=a/10*10+a%10*1000+b/10+b%10*100; } 第45套 给定程序中,函数fun的功能是: 在形参ss 所指字符串数组中查找含有形参substr所 指字符串并输出,若没找到则输出相应信 息,ss所指字符串数组中共有N个字符串, 且串长小于M。程序中库函数strstr(s1,s2) 的功能是在s1串中查找s2子串,若没有,函 数值为0,若有,为非0。 填空:①N ②substr ③0 改错:①fun(int x,int y,int z) ②return j; 编程: void fun(char *a,int n,int h,int e) { int i; for(i=0;i a[i]=a[i+h]; a[i]=0; } 第46套 给定程序中,函数fun的功能是: 5将形参n 所指变量中各位上为偶数的数取出,并按原 来从高位到低位的顺序组成一个新的数,并 作为函数值返回。例如,输入一个数: 27638496,新的数为26846。 填空:①1②s ③i*10 改错:①int fun(int n,int xx[][M]) ②printf(“%d”,xx[i][j]); 编程:void fun(int a,int b,long *c) { *c=a/10*1000+a%10*10+b/10+b%10*100; } 第47套 给定程序中,函数fun的功能是:程序通过 定义学生结构体变量,存储了学生的学号、 姓名和3门课的成绩。所有学生数据均以二 进制方式输出到文件中。函数fun的功能是 从形参filename所指的文件中读入学生数 据,并按照学号从小到大排序后,再用二进 制方式把排序后的学生数据输出到 filename所指的文件中,覆盖原来的文件内 容。 填空:①”rb”②>s[j].sno ③fwrite 改错:①p=s②while(*p++) 编程:void fun(int *a,int *b) { int i,k; for(i=0;i for(i=0;i { k=a[i]/10; if(k>=10)b[10]++; else b[k]++; } } 第48套 给定程序中,函数fun的功能是找出形参s所 指字符串中出现频率最高的字母(不区分大 小写),并统计其出现的次数。例如,形参 S所指的字符串为abcAbsantrless,程序执 行后的输出结果为:letter ‘a’:3 times,letter ‘s’:3 times。 填空:①*s②1 ③k[n] 改错:①float fun(int k)②return s; 编程:double fun(int n) { int i; double s; for(i=1;i<=n;i++) s+=1.0/i*(i+1); return s; } 第49套 给定程序中,函数fun的功能是将形参S所 指字符串所有ASCII码值小于97的字符存 入形参t所指字符数组中,形成一个新串, 并统计出符合条件的字符个数作为函数值 返回。例如,形参S所指的字符串为: Abc@1x56*,程序执行后t所指字符数组中 的字符串应为:A@156* 请在程序的下划线处填入正确的内容并把 下划线删除,使程序得出正确的结果 填空:①*s ②s++ ③n 改错:①int j,c=0;float xa=0; ②if(x[j]>=xa) 编程:float fun(int m,int n) {int i; float m1=1.0,n1=1.0,k=1.0; for(i=1;i<=m;i++)m1*=i; for(i=1;i<=n;i++)n1*=i; for(i=1;i return m1/n1/k;} 第50套 给定程序中,函数fun的功能是将带头结点 的单向链表逆置。即若原链表节点数据域从 头至尾的数据为2,4,6,8,10,逆置后节 点数据域从头至尾的内容为10,8,6,4,2 填空:①NODE* ②q ③r 改错:①if(i%2||s[i]%2==0) ②t[j]=0; 编程:void fun(int (*s)[10],int *b,int *n,int mm,int nn) { int i,j,k=0; for(j=0;j for(i=0;i b[k++]=s[i][j]; *n=k; }