1、二级C语言上机题库1、程序填空题 给定的程序的功能是调用fun函数建立班级通讯录。通讯录中记录每位学生的编号、姓名和电话号码班级的人数和学生的信息从键盘读入,每个人的信息作为一个数据块写到名为myfile5.dat的二进制中。填空:(1)STYPE (2)FILE (3)fp改错: (1) for(i=0;i=sl;i+) (2) t2*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)fname改错:(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; whi
4、le(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) 0; (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。执行结果为:defadhkjsd
9、f3537填空:(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+)(2)y+
10、=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)&(i%77)
11、!=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+)if(p
12、!=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; (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.)/n; (2)return t;编程:int f0=0,f1=1,f;dof=f0+f1;f0=f1;f1=f;while(ft);return f;20、 程序填空题给定程序中,函数fun的功能是:由NxN矩阵,将矩阵的
14、外围元素顺时针旋转。操作顺序是:首先将第一行元素的值存入临时数组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)编程:STREC
15、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+(b/10);2
16、4 程序填空题给定程序中,函数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所指变量中,各位上为偶数的数去除.剩下的数按原来从高位的顺序组成一个新的数,并通过形参兆时指针n传回所
17、指变量.例如:输入一个数: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)+(5*7)/(6*
18、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)改错:(1)double
19、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.*i改错:(1)void fun (char *s,char
20、 *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=ssint i=0;while
21、(*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)*100+(a/10)*10
22、+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、程序填空题 给定程序中,函数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、给定程序中,函数fu
copyright@ 2008-2023 冰点文库 网站版权所有
经营许可证编号:鄂ICP备19020893号-2