1、1、程序填空题 给定的程序的功能是调用fun函数建立班级通讯录。通讯录中记录每位学生的编号、姓名和电话号码班级的人数和学生的信息从键盘读入,每个人的信息作为一个数据块写到名为myfile5.dat的二进制中。填空:(1)STYPE (2)FILE (3)fp改错: (1) for(i=0;i=sl;i+) (2) t2*sl=0或tsl+sl=0编程: *c=(a/10)*1000+(b/10)*100+(a%10)*10+(b%10);2、程序填空题 给定程序的功能是:从键盘输入若干文本(每行不超过80个字符),写到文件myfile4.txt中,用-1作为字符串输出输入的标志。然后将文件的内
2、容读出显示在屏幕上。文件的读写分别由自定义函数ReadText和Writetext实现。填空:(1) *fw (2) str (3) str改错:(1) void fun(long s,long *t)(2) s1=s1*10;编程:int i,j=0,min=a0.s;for(i=0;iN;i+)if(ai.smin)j=0;bj+=ai;min=ai.s;else if(min=ai.s)bj+=ai;return j;3、程序填空题 给定程序中,函数fun的功能是:讲自然数110以及它们的平方根写到名为myfile3.txt的文本中,然后再按顺序读出显示在屏幕上。填空:(1)fp(2)f
3、close(fp)(3)myfile3.txt改错:(1)for(i=j+1;in;i+) (2)p=i;编程:*c=(b%10)*1000+(a%10)*100+(b/10)*10+a/10;4、程序填空题给定程序中,函数fun的功能是:找出形参s所指字符串出现频率最高的字母(不区分大小写),并统计出其出现的次数,例如,形参s所指的字符串为:abcAbsmaxiess,程序执行后的输出结果为:letter a:3 timesletter s:3 times填空:(1) r (2 )fs (3)ft改错:(1) if (d%2=0) (2 ) s/=10;编程:int i = 0, j = 0
4、;while(si)if(i % 2 = 0 & si % 2 = 0)tj+ = si;i+;tj = 0;5、程序填空题给定程序中已经建立一个带有头结点的单向链表,链表中的各结点数据域中的数据递增有序链接,函数fun的功能是:把形参x的值放入一个新结点并插入到链表中,插入后各结点数据域的值仍保持递增有序。填空:(1)x (2)p (3)s改错:(1)long k=1; (2)num/=10;编程:int i;float aver=0.0;for(i=0;idata (3) t改错:(1) void fun(char *a) (2) print(%c,*a);编程:int i;char *p
5、=s,*q=t;int n=0,m=0;while(*p) /*计算串s的长度n,其中p为临时指针*/n+;p+;while(*q) /*计算串t的长度m,其中q为临时指针*/m+;q+;if(n=m) /*比较m和n的值,设置p指向较大的指针*/p=s;elsep=t;return p;7、程序填空题给定程序中建立一个带有头结点的单向链表,链表中的各节点按数据域递增有序链接。函数fun的功能是:删除链表中数据域值相同的节点,使之只保留一个。填空:(1) q (2) next (3) next改错:(1) 缺分号 (2) p = i;编程:*n=0; int i;for(i=1;i=m;i+)
6、if(i%7=0|i%11=0)a*n+=i;8、程序填空题给定的程序中,函数fun的功能是:在带有头结点的单向链表中,查找数据域中值为ch的结点。找到后通过函数值返回该结点在链表所处的顺序号;如不存在值为ch的结点,函数返回0值。填空:(1)0或NULL (2)n (3)head,ch改错: (1) for(i=0,t=0;pi;i+) (2) ct=0;编程: int i;for(i=1;i=a&ssi=z) ssi-=32;9、程序填空题给定程序中,函数fun的功能是:统计出带有头结点的单向链表中节点的个数,存放在形参n所指的存储单元中。填空:(1) *n (2) next (3) he
7、ad改错:(1) a=NULL; (2) if(*r=*p)编程:int i,j=0;for(i=0;istrlen(s);i+=2)if(si%2=0) tj+=si;tj=0;10、程序填空题 给定程序中,函数fun的功能是:计算出带有头结点的单向链表中各节点数据域中值之和作为函数值返回。填空:(1) data (2) next (3) head改错:(1) while(*r) (2) *a=*r;a+;r+;编程:int i,j=0;for(i=0;istrlen(s);i+=2)tj+=si;tj=0;11、程序填空题给定程序中,函数fun的功能是:求ss所指字符串数组中长度最短的字符
8、串所在的行下标,作为函数数值返回,并把其串长放在形参n所指变量中。Ss所指字符串数组中共有M个字符串,且串长N.填空:(1)M (2) (3)k改错:(1)if(a=tti)&(tti=z) (2)tti-=32;编程:int i,j;int t=0;for(i=2;im;i+)j=2;while(ji)if(i%j=0)xxt=i;t+;break;j+;*k=t;12、程序填空题给定程序中,函数fun的功能是:将s所指字符串中的所有数字字符移到所有非数字字符之后,并保持数字字符串和非数字字符串原有的先后次序。例如:形参s所指的字符串为:def35adh3kjsdf7。执行结果为:defad
9、hkjsdf3537填空:(1) j+ (2) si=t1i (3) j改错:(1) for(j = i + 1; j 6; j+) (2) *(pstr + i) =*( pstr + j);编程:int cnt=0;char *p=ss;while(*p)if(*p=c)cnt+;p+;return cnt;13.程序填空题给定程序中,函数fun的功能是:在形参s所指字符串中的每个数字字符之后插入一个*号。例如,形参s所指的字符串为:def35adh3kjsdf7.执行结果为:def3*5adh3*kjsdf7*。填空:(1)& (2)0 (3)sj改错(1)for(i=2;i=m;i+)
10、(2)y+=1.0/(i*i);编程题:int c33;for(i=0,i3;i+)for(j=0;j3;j+)cij=aji;bij=aij+cij;14、程序填空题给定的程序中,函数fun的功能是:统计形参s所指字符串中数字字符出现的次数,并存放在形参t所指的变量中,最后在主函数中输出,例如,形参s所指的字符串为abcdef35adgh3kjsdf7。输出结果为:4。填空:(1)si (2)9 (3) *t=n;改错: (1) t=*x;*x=y; (2) return (t);编程: int i;*n=0;for(i=7;i1000;i+) if (i%7)=0)|(i%11)=0)&(
11、i%77)!=0) a(*n)+=i;15、程序填空题给定的程序中,函数fun的功能是:把形参s所指字符串中下标为奇数的字符右移到下一个奇数的位置,最右边被移出的字符串的字符绕回放到第一个奇数位置,下标为偶数的字符不动(注:字符串的长度大于等于2)例如:形参s所指字符串为:abcdefgh,执行结果为:ahcbedgf填空:(1) 1 (2) sk (3) c改错:(1) long s = 0,t = 0; (2) t = t / 10;编程:char *p=tt;int i;for(i=0;i=a &p=num) (2) t=s/n;编程: int p,m=0;for(p=0;pLEN;p+
12、)if(p!=n)bm=ap;m+;bm=0;17、程序填空题 给定程序中,函数fun的功能是:在形参s所指字符串中寻找与参数c相同的字符,并在其后插入一个与之相同的字符,若找不到相同的字符则函数不做任何处理。例如:s所指字符字符串为:baacda,c中得字符为:a,执行后所指字符串为:baaaacdaa。填空:(1) 0或0 (2) 0 (3) c改错:(1) double sum=0.0; (2) sum/=c;编程:int k;float str=1.0,sum=1.0;for(k=2;k=n;k+)sum=sum+k;str=str+1/sum;return str;18、程序填空题
13、给定程序中,函数fun的功能是:NN矩阵,根据给定的m(m=2)&(n0.000001);return x1;19、程序填空题给定程序中,函数fun的功能是:将N*N矩阵中元素的值按列右移1个位置,右边被移出矩阵的元素绕回左边。例如,N=3,有下列矩阵1 2 34 5 67 8 9计算结果为3 1 26 4 59 7 8填空:(1)N (2)N-1 (3)0改错:(1)s=s+(n+1.0)/n; (2)return t;编程:int f0=0,f1=1,f;dof=f0+f1;f0=f1;f1=f;while(ft);return f;20、 程序填空题给定程序中,函数fun的功能是:由Nx
14、N矩阵,将矩阵的外围元素顺时针旋转。操作顺序是:首先将第一行元素的值存入临时数组r, 然后使第一列成为第一行,最后一行成为第一列,最后一列成为最后一行,临时数组中的元素成为最后一列列。例如:而N=3,有以下矩阵:1 2 34 5 67 8 9计算结果为7 4 18 5 29 6 3填空:(1)0 (2)j- (3)j改错: (1)double f(double x) (2)缺分号编程: double s=0.0;int i;for(i=1;i=m;i+)s=s+log(1.0*i);s=sqrt(s);return s;21、程序填空题 给定程序中,函数fun功能是:找出100至x(x想0)编
15、程:STREC tmp;int i,j;for (i=0;iN;i+)for (j=i+1;jN;j+)if(ai,saj,s)tmp=ai; ai=aj; aj=tmp;23、程序填空题给定程序中,函数fun的功能是:将形参n中,各位上为偶数的数取出,并按原位从高位到低位的顺序组成一个新的数,并作为函数值返回。例如,从主函数输入一个整数:27638496,函数返回值为:26845.填空:(1)1 (2)s (3)i*10改错:(1)int fun(int n,int xxM) (2)printf(%d,xxij);编程:*c=(a/10)*1000+(b%10)*100+(a%10)*10+
16、(b/10);24 程序填空题给定程序中,函数fun的功能是:将形参n中,各位上为偶数的数取出,并按原来从高位到低位相反的顺序组成一个新的数,并作为函数返回.例如,输入一个整数:27638496,函数返回值为:64862.填空: (1) 0 (2) 10*x (3) n/10改错: (1) *t=0; (2) if (d%2!=0)编程: char *p=p1;while (*p)p+;while(*p2)*p+=*p2+;*p=0;25.程序填空(与教材18题对应)给定的程序中,函数fun的功能是:将形参n所指变量中,各位上为偶数的数去除.剩下的数按原来从高位的顺序组成一个新的数,并通过形参
17、兆时指针n传回所指变量.例如:输入一个数:27638496,新的数:739.填空(1) 10 (2) 0 (3) x改错(1) if (n = = 0)(2)缺分号编程: long s=0, t;int i=0,j,n=strlen(p),k,s1;if (p0= -)i+;for (j=i;j=n-1;j+)t=pj-0;s1=10;for (k=j;k=eps)pi+=s; t=n/(2*n+1); s*=t; n+; pi=pi*2; return pi;27、程序填空题 (与22题对应)给定程序中,函数fun的功能是:计算下式前n项的和S=(1*3)/(2*2)-(3*5)/(4*4)
18、+(5*7)/(6*6)-+(-1)(n-1)*(2n-1)(2n+1)/(2n*2n)作为函数植返回。例如,当形参n的值为10时,函数返回:-0.204491填空:(1)1 (2) 2*i (3) (-1)改错:(1) 缺分号 (2) if (m= =k)编程:int i;*max=a0;*d=0;for(i=0;in;i+)if(*maxai);*max=ai;*d=i;28、程序填空题给定程序中,函数fun的功能是计算下式s=3/(2*2)-5/(4*4)+7/(6*6)-+(-1) (n-1)(2n+1)/(2n*2n)直到|(2n+1)/(2n*2n)| (3) (2*i+1)改错:
19、(1)double fun (int n) (2) s=s+(double)a/b;编程: int i,j,max=a00; for(i=0;i2;i+) for (j=0;jM;j+) if (maxaij) max=aij; return max;29、程序填空题给定程序中,函数fun的功能是计算下式s=1/(2*2)+3/(4*4)+5/(6*6)+.(2n-1)/(2n*2n)直到|(2n-1)/(2n*2n)|=10e-3,并把计算结果作为函数值返回。例如,若形参e的值为1e-3,函数的返回值2.985678.填空:(1)0(2)i+(3)2.0*i改错:(1)void fun (c
20、har *s,char *t)(2)t2*d=0;编程:int i,j=o;for(i=1;istrlen(s);i+=2)if (i%2=0&si%2)tj+=si;tj=0;30 程序填空题给定程序中,函数fun的功能是,将形参s所指字符串的所有字母字符顺序前移,其他字符顺序后移,处理后新字符串的首地址作为函数值返回。 例如,s所指字符串为:asd123fgh543df处理后新字符串为asdfghdf123543.填空:(1)si (2)k (3)0改错:(1)while (*w) (2)if(*r=*p)编程:int i,j=0;for(i=1;itj+1)编程:char *p=ssin
21、t i=0;while(*p)if(i%2)&(*p=a&*p=z)*p-=32;p+;i+;32、程序填空题 给定程序中,函数fun的功能是:将a所指3*5矩阵中第k列的元素左移到第0列,第k列以后的每列元素依次左移,原来左边的各列依次绕道右边。例如,有以下矩阵:1 2 3 4 5 1 2 3 4 5 1 2 3 4 5 若结果为,程序执行结果为:3 4 5 1 23 4 5 1 23 4 5 1 2填空:(1)k (2)N-1 (3)temp 改错:(1)void fun(int aM,int m)(2)ajk=(k+1)*(j+1);编程:*c=(a%10)*1000+(b%10)*10
22、0+(a/10)*10+b/10;33、程序填空题给定程序中,函数fun的功能是:在3*4的矩阵中代出在行上最大、在列上最小的那个元素,若没有符合条件的元素则输出相应信息。例如:有下列矩阵1 2 13 47 8 10 63 5 9 7程序执行的结果为:find:a22=9填空:(1)j (2)0 (3)i+改错:(1)for(i=2;i=m;i+) (2)y-=1.0/(i*i);编程:float av=0.0;int i,j=0;for(i=0;im;i+)av+=scorei;av/=m;for(i=0;iscorei)belowj+=scorei;return j;10;34、程序填空题
23、 给定程序中,函数fun的功能是:把形参s所指字符串中最右边的n个字符复制到形参t所指字符数组中,形成一个新串。若s所指字符串的长度小于n,则将整个字符串复制到形参t所指字符数组中。例如,形参s所指的字符串味:abcdefgh,n的值为5,程序执行后t所指字符串数组中的字符串为:defgh. 填空:(1)t,s(2)si(3)0 改错:(1)if (i%k=0)(2)if(k=i) 编程:int i=0; *n=0; for (i=1;i=x;i+)if(x%i=0)&(i%2)pp(*n)+=i;35、给定程序中,函数fun的功能是:在形参s所指字符串是否是“回文”(Palindrome),
24、若是,函数返回值为1;不是,函数返回值为0。“回文”是正读和反读都一样的字符串(不区分大小写字母)。例如,LEVEL和Level是“回文”,而LEVLEV不是“回文”。填空:(1)s (2) (3) return 0改错:(1)double fun (int n) (2)c=a;a+=b;b=c;编程: int r=0,temp,p,sign=1; for(temp=m+1;tempm*m;temp+)for(p=2;p=temp)if(k=0)xxr+=temp;k- -;else break; 36 程序填空题给定程序中,函数fun的功能是:计算出形参s所指定字符串中包含的单词个数,作为函
25、数值返回。为便于统计,规定各单词之间用空格隔开。例如,形参s所指的字符串为:This is a C languge program,函数的返回值为6。填空:(1)n+ (2)0 (3)s+改错:(1)t+=sk; (2)*aver=ave;编程:int i,pos=0,max=*s; for(i=1;it;i+)if(max= xa)编程:float result,temp=1.0;int i;for(i=1; i=m; i+)temp=temp*i;result=temp;for(temp=1.0,i=1;i=n;i+)temp=temp*i;result=result/temp;for(t
26、emp=1.0,i=1;i=m-n;i+)temp=temp*i;result=result/temp;return result;38. 程序填空题 给定程序中,函数fun的功能是:将形象s所指字符串中的数字字符转换成对应的数值,计算出这些数值的累加和作为函数值返回。例如,形参s所指的字符串为:abs5def126jkm8,程序执行后的输出结果为:22。填空:(1)48 (2)s+ (3)sum改错:(1)if (k%13= =0) | (k%17= =0) (2) int i;for(i=21;i=n;i+)if(i%3= =0)&(i%7 = =0)sum=sum+i;return sp
27、rt(sum);39、程序填空题 给定程序中,函数fun的功能是:找出形参s所指字符串中出现频率最高的字母(不区分大小写),并统计出其出现的次数。例如,形参s所指字符串为:abcAbsmaxless,程序执行后的输出结果为:letter a:3 timesletter s:3 times填空:(1) *s (2) 1 (3) kn改错:(1) double fun(int k) (2) return s;编程:double s=0.0;int i;for(i=1;i=n;i+)s=s+1.0/(i*(i+1);return s;45、程序填空题 给定程序中,函数fun的功能是:利用指针数组对形
28、参ss所指字符串数组中的字符串按由长到短的顺序排序,并输出排序结果,ss所指字符串数组中共有N个字符串,且串长小于M。填空:(1) i (2) psj (3) tp改错:(1) double fun(int n) (2) return sum;编程:int i;double a=1,b=1,s=1;for(i=1;inext; (2)p=p-next;编程:int i,n=0,fg=1;char *p=str;while(*p)n+;p+;for(i=0;inext (2)p-next (3)=改错:(1)p=h-next; (2)p=p-next;编程:int i,j;for(i=0;imm
29、;i+)for(j=0;jnn;j+)b*n=*(*(s+i)+j);*n=*n+1;43、程序填空题给定程序中,函数fun的功能是将不带头结点的单向链表逆置,即若链表中从头至尾结点数据域依次为:2,4,6,8,10,逆置后,从头至尾结点数据域依次为:10、8、6、4、2。填空:(1)NODE *(2)q(3)r改错:(1)if(i%2 | si%2=0)(2)tj=0;编程: for(j=0;jnn;j+) for(i=0;imm;i+) bnp+=sij; 44.程序填空题给定程序中,函数fun功能是将不带头结点的单向链表逆置,即若原链表从头到尾结点数据域依次为:2 4 6 8 10 逆置
30、后,从头到尾结点数据域依次为:10 8 6 4 2填空:(1)next (2)0 (3)r改错:(1)r=t; (2)if(*r= =0)编程:int i,j,k=0;for(i=0;iM;i+)for(j=0;jnext (2)q (3)p-next改错:(1)0 (2)s+;编程:int bN,i,j=0;for(i=p+1;in;i+)bj=wi;j+;for(i=0;i=p;i+)bj=wi;j+;for(i=0;in;i+) wi=bi;46、程序填空题给定的程序中,函数fun的功能是:统计形参s所指字符串中数字字符出现的次数,并存放在形参t所指的变量中,最后在主函数中输出,例如,形
31、参s所指的字符串为abcdef35adgh3kjsdf7。输出结果为:4。填空:(1) double (2) f1 (3) f2改错:(1) char *fun(char *s, char *t) (2) ss+ (3) tt+编程:char aN;int i;for(i=0;i=0;m-;i-) wi=am;47、 程序填空题给定的程序中,函数fun的功能是将形参给定的字符串,整数、浮点数写到文本文件中,再用字符的方式从此文本文件中逐个读入并显示在终端屏幕上。填空:(1) FILE * (2) fp (3)ch改错:(1)sj+=si; (2) sj= 0;编程: for(j=0;jM;j+
32、) bn=sji;48、程序填空题给定程序中,函数fun的功能是将参数给定的字符串、整数、浮点数写到文本文件中,再用字符串方式从此文本文件中逐个读入,并调用库函数atoi 和atof将字符串转换成相应的整数、浮点数,然后将其显示在屏幕上。填空; (1)File * (2) fclose(fp) (3) fp改错; (1)t=(STU*)calloc(sizeof(STU),m);(2)tk=bj;编程; int i,t,j=0,*p=a;t=p0;for(i=0;i=n)aj=t;return j;49、程序填空题程序通过定义学生结构体变量,存储了学生的学号、姓名和3门课的成绩。所有学生数据均以二进制方式输出到文件中。函数fun的功能是从形参filename所指的文件中读入学生数据,并按照学号从小到大排序后,再用二进制方式把排序后的学生数据输出到filename所指的文件中,覆盖原来的文件内容。填空:(1)