1、计算机二级C上机考试题库2类型一:调整一个数的个、十、百、千位1.请编写函数fun,其功能是:将两个两位数的正整数a、b合并形成一个整数放在c中。合并的方式是:将a数的十位和个位数依次放在c数的千位和十位上,b数的十位和个位数依次放在c数的百位和个位上。例如,当a=45,b=12,调用该函数后c=4152。填空:STYPE FILE Fp改错:for( i=0; i=sl; i +) 把s后字母改为小写Lt2*sl = 0;2. c=1524。填空:*fw str str改错:void fun(long s,long *t)sl=sl*10;3. c=2514。填空:fp fclose(fp)
2、 fname改错:for ( i=j+1; iscorei a改错:char *fun(char (*sq)M)return sp;7. c=1425。填空:0 x t+改错:int i,s1; s后面是小写的Lti = ssl-i-1;8. c=4251。填空:1 s i*10改错:int fun(int n,int xxM)printf(%d ,xxij);类型二:与*号有关的操作9.请编写函数fun,它的功能是:将字符串中的前导*号全部删除,中间和尾部的*号不删除。删除前导*号填空:N tij tji改错:#define FU(m,n) (m)/(n)return(value);10.除
3、尾部*号,其余*删除填空:tN i=0;i amid)11.请编写函数fun,它的功能是:除了字符串前导和尾部的*号之外,将串中其他*号全部删除。只删除中间*号int j=0; char *q=a; while(*q & q h) aj+ = *q+ ; while(*h & *p & h 0.001)12.删除串中所有*号i填空:1 j+ j改错:t=a;a=b;b=t;return(b);13.删除串尾*号填空:N i -1改错:a2=k/10;return i;14.除前导*外其他删除* 填空:N k ssi改错:int k=0;while( *p | *q )15.删除前导和尾部* 填
4、空:N substr 0改错:fun(int x,int y, int z)return j;16. 串尾部*号不多于n个 填空:ai % 2 aj j改错:fun (int n)if(n=1)17.前导*不多于n个 填空:M N 0改错:t=1;return(2*s);18.串前*移至串尾 填空:a b.name scorei改错:sj+=si;sj=0;19.编写一个函数,从传入的num个字符串中找出最长的一个字符串,并通过形参指针max传回该串地址(用*作为结束输入的标志)。int i,k=0,maxlen; maxlen=strlen(ak); for(i=1;i maxlen) ma
5、xlen = strlen(ai) ; k = i ; *max=ak;填空:N i i+1改错:aai=m%k;printf(%d,aai-1); 类型三:与下标或ASCII码有关20.请编写一个函数fun,它的功能是:将ss所指字符串中所有下标为奇数位置上的字母转换为大写(若该位置上不是字母,则不转换)。下标奇数位置子母改大写 填空:k N aki改错:for( i = strlen( t )-1; i; i- )if(tjtj+1)21.请编写个函数void fun(char *ss),下标奇数位置子母改大写 c填空:NULL n head,ch改错:for (i = 0,t = 0;
6、pi ; i+)ct= 0;22.下标为偶数字符删除 填空:data next head改错:while(*r)*a = *r; a+; r+;23.除首尾外其余ASCII码降序 填空:ssi n+j 1改错:if(* p = )*(p-1) = toupper( *( p - 1 ) );24. ASCII码值为偶数删除 填空:STU stdi.num stdi改错:r+; p+;if(*r=0)25. ASCII值为奇数删除 填空:si k 0改错:while(*w)if( *r = *p )26.除下标偶数同时ASCII码值偶数之外其余全部删除 i填空:*n next head改错:a
7、= NULL;if(*r=*p)27.除下标奇数同时ASCII码也为奇数外其余字符删除 填空:0 i+ 2.0*i改错:void fun (char *s, char *t)t2*d=0;28.将下标为偶数同时ASCII码为奇数删除 填空:j k p改错:while(ij)if (*a)103. 请编写函数fun,函数的功能是查找x在s所指数组中下标的位置作为函数值返回,若x不存在,则返回-1填空:i%5 n ai改错:returnt;for(i=0;inext q p-next改错:while(*s)s+;30.删除一维数组相同的数 填空:FILE * fclose(fp) fp改错:t=(
8、STU *)calloc(sizeof(STU),m);tk=bj;31.找出一维数组最大值及其下标填空:1 2*i (-1)改错:k+;if (m = k )32求数组最大元素及下标 填空:n+ 0 s+改错:t+=sk;*ave=ave;33.左下三角元素乘n 填空:STU scorei &std改错:if(k0)else if(k=0)34.右上三角元素同乘m填空:*av i xj改错:float fun(int n)for (i=2; i 2*i+1改错:double fun (int n)s = s + (double)a / b;38.矩阵转置 填空:N break n改错:sum
9、=0;scanf(%d,&aij);39.按列顺序33 44 55 33 44 55 填空:NODE * next r改错:if(i%2 | si%2=0)tj=0;40.按行顺序33 33 33 33 44 44 44 44 填空:h-next p-next 改错:p=h-next;p=p-next;41.按列顺序wshwshwsh 填空:FILE * fp ch改错:sj+=si;sj=0;.42数组周边元素的平均值 填空:s/N j+ -1改错:# include upfst(char *p)43二维数组周边元素之和填空:xi/N j+ i+改错:numk=0;switch(*s)44.
10、 B=A+A 填空:& 0 sj改错:for(i=2; i=m; i+)y+=1.0/(i*i);类型五:学生分数操作45.请编写一个函数fun,它的功能是:计算n门课程的平均分,计算结果作为函数值返回。例如:若有5门课程的成绩是:90.5,72,80,61.5,55,则函数的值为71.80。n门课程平均分71.8 填空:x p s改错:long k=1;num/=10 ;46. N名学生的成绩的平均分,78.625 填空:char ch=9 0改错:bk=*p;bk+= ;47. 8门课程平均分78.875填空:ai aj aj改错:switch(g)case 1: case 2:retur
11、n 1;48.找出成绩最高学生纪录(规定只有一个最高分) 填空:stdi.year stdi n改错:IsPrime ( int n )if(!( n%i ))49.低于平均分的学生数据 填空:*a 2 i+1改错:sum=0.0;if(i+1)%5=0)50.把分数最高学生数据放在b所指数组中,分数最高的学生可能不只一个 填空:1 i ap+i改错:float k;if(*a*c)51找出学生最高分由函数值返回 填空:fp = fp改错:n=strlen(aa) ;ch=aai;52低于平均分的人作为函数值返回 填空:j 0 i+改错:for(i=2; isno -name &t改错:dou
12、ble fun(double a, double x0)if( fabs(x1-x0)0.00001 )54. 分数最低学生数据放在b所指数组 填空:struct student a.name a.scorei改错:if(p=n) return -1;ai=ai+1;55.找出成绩最低学生纪录 填空:0 xi/N j+改错:double fun(int m)for( i = 100;i 0)57.返回指定学号学生数据填空:n/2 i an-i-1改错:n= *p-0;n=n*8+*p-0;58.指定分数范围内的数据 填空:struct student n-1ai.name,aj.name改错:
13、q=p+i;while(qp)类型六:字符和字符串操作59.请编写一个函数fun,它的功能是:比较两个字符串的长度,返回较长的字符串。若两个字符串长度相同,则返回第一个字符串。返回较长字符串 填空:next t-data t改错:fun (char *a)printf(%c ,*a) ; 60.删除给定的字符 填空:k len ssij改错:result *=n-;result61.填空:j+ si=t1i j改错:for (j = i + 1;j =num)t=s/n;64.统计一行串中单词个数 填空:filename fp fp改错:p=(NODE *)malloc(sizeof(NODE
14、);return h;65. M个字符串合并成新串填空:next 0 r改错:r=t;if(*r=0)66.回文填空:double f1 f2改错:p=h-next;p=p-next;67实现两个字符串连接填空:0 10*x n/10改错:*t=0;if(d%2!=0)68.删除字符串中所有空格 填空:0 | 1改错:t-=1.0/i;return t;69逆置。字符串逆置填空:i+1 k=j t改错:void fun(char *str, char ch)if(*str!=ch)str1 = 0;70数字字符串转换为整数填空:10 0 x改错:if (n=0)result *= n-;71
15、1第m个字符移到串后 填空:double f1 f2改错:char *fun(char *s,char *t)ss+;tt+;72.统计子串出现的次数i填空:N len *n=len改错:t += 1.0/i;return t;101. 请编写函数fun,其功能是:统计s所指字符串中的数字字符个数,并作为函数值返回。数字字符个数填空:bk N/2 改错:inttN,i,num=0;tnum+=bi;for(i=0;idata p-next改错:inti,one=0,zero=0;switch(si)case0:zero+;break;104数字字符串转换为整数填空: 0 t (t-1)*(t+
16、2)/2改错:bi=0;bai - a+;if (bmax = 2) & (n 10) )yes=0; break;75. 若m的值为20,则fun函数值为6.506583。填空:0 j- j改错:double f( double x)return s;76.若主函数从键盘给n输入15,则输出为s=2.718282。填空:1 -1 t改错:for(i=1; i=0 & k=6)77.输入0.21后,则输出为s=1.100000。填空:x n fabs(t)改错:for(i=1; i=xa)81. n=10时,函数值为0.909091。 填空:*s 1 kn改错:double fun(int k
17、)return s;82. n=10,x=0.3时,函数值为1.349859。填空:i psj tp改错:double fun(int n)return sum;83.求的值填空:0 n t*t改错:for(i = 0;stri;i+)if (substrk+1=0)84.输出下列多项式值填空:n%10 break break改错:if(t=0)*zero=count;类型八:求整除85请编写函数fun,它的功能是:求出1到1000之内能被7或11整除、但不能同时被7和11整除的所有整数能被7或11整除,但不能同时被7和11整除 填空:si 9 *t=n改错:t=*x;*x=y;return(
18、t);86.能被7或11整除填空:q next next改错:p = j;p = i;87.同时能被3与7整除的所有自然数之和的平方根填空:0 s+ sum改错:if (k%13 = 0) | (k%17 = 0)88能整除形参x且不是偶数的各整数 填空:t,s si 0改错:if(i%k=0)if (k = i)89N以内能被5或9整除的所有自然数倒数之和填空:ai ai 0改错:y=1;d=a-i;105去掉一个最高分和一个最低分,然后求平均值填空:ai m%10 m/10改错:bi=ai0;for (j=1; jaij )类型九:其它各类计算90.请编写函数fun,它的功能是:求Fibo
19、nacci数列中大于t的最小的一个数,结果由函数返回。fibonacci 填空:N N-1 0改错:s=s+(n+1.0)/n;return t;91大于1小于m的非素数填空:M =a )&( tti = z ) )tti -= 32;92. 3到n之间所有素数平方根之和 填空:i t+ count改错:int fun(int a,int b,int c)else retrun 1;93.小于或等于lim所有素数 填空:a0i am) m=k;96.方差S=11.730729填空:1 1 i改错:k=i;c=k%10;97.相邻两元素平均值平方根之和填空:x n t改错:d=1; s=0;d=d/10;98保留2位小数填空:48 s+ ctod(a)+ctod(b)改错:void fun ( char *s, int* a, int *b )*a=*a+1 ;*b=*b+1;99.整数n的所有因子填空:& A ch改错:void fun(int *a)aj=aj-1;100.各年龄段的人数 填空:“rb” fwrite改错:p=s;while(*p+);
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1