版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第四部分 全国计算机等级考试二级C语言上机考试试题详解第7章全国计算机等级考试二级C语言上机考试试题第1套填空题:请补充main函数,该函数的功能是:把一个字符串中的所有小写字母字符全部转换成大写字母字符,其他字符不变,结果保存原来的字符串中。 例如:当strN=“123 abcdef ABCDEF!”时,结果输出:“123ABCDEFABCDEF!”。 注意:部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的横线上填入所编写的若干表达式或语句。 试题程序: #include #include #include #define N 80 main() int
2、i; char strN=123abcdef ABCDEF!; char *pf=str; printf(*original string*n); puts(str); 【1】 ; while(*(pf+j) if(*(pf+j)=a&*(pf+j)=z) *(pf+j)= 【2】 ;j+; else 【3】 ; printf(*new string*n); puts(str); system(pause);改错题:下列给定程序中,函数fun()的功能是逐个比较a,b两个字符串对应位置中的字符,把ASC值小或相等的字符依次存放到c数组中,形成一个新的字符串。 例如:a中的字符串为fshADfg
3、,b中的字符串为sdAEdi, 则c中的字符串应为fdAADf。 请改正程序中的错误,使它能得到正确结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。 试题程序: #include #include void fun(char *p,char *q,char *c) int k=0; while(*p|*q) /*found*/ if (*p=*q) ck=*q; else ck=*p; if(*p) p+; if(*q) q+; /*found*/ K+ main() char a10=fshADfg,b10=sdAEdi,c80=0; fun(a,b,c); pri
4、ntf(The string a:);puts(a); printf(The string b:);puts(b); printf(The result:);puts(C);编程题:请编写函数fun(),其功能是将两个两位数的正整数a、b合并形成一个整数放在c中。合并的方式是:将a数的十位和个位数依次放在c数的个位和十位上,b数的十位和个位数依次放出c数的百位和千位上。 例如,当a=16,b=35, 调用该函数后,c=5361。 注意:部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。 试题程序: #include void fu
5、n(int a,int b,long *c) main() int a,b;long c; printf(Input a,b;); scanf(dd,&a,&b); fun(a,b,&c); printf(The result is:ldln,c);第2套填空题:请补充main函数,该函数的功能是求方程ax2+bx+c=0的两个实数根。方程的系数a、b、c从键盘输入,如果判别式 (disc=b2-4ac)小于0,则要求重新输入a、b、c的值。 例如,当a=1,b=2,c=1时,方程的两个根分别是x1-1.00,x2=-1.00。 注意:部分源程序给出如下。 请勿改动主函数main和其他函数中的
6、任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。试题程序:#includemath.h#includemain() float a,b,c,disc,xl,x2;do printf(Input a,b,c:);scanf(f,f,f,&a,&b,&c);disc=b*b-4*a*c;if(disc0)printf(disc=fn lnput again!n,disc);while( 【1】 );printf(*the result*n1);x1=【2】;x2=【3】;printf(nx1=6.2fnx2=6.2fn,x1,x2);改错题 :下列给定程序中,函数fun()的功能
7、是根据整型形参m,计算如下公式的值。y=l-1/(22)+1/(33)-1/(44)+(-1)(m+1)/(mm)例如:m中的值为5,则应输出0.838611。请改正程序中的错误,使它能得到正确结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。试题程序:#include#includedouble fun(int m) double y=1.0;/*found*/int j=1, i;for(i=2;i=m;i+) j=-1*j;/*found*/y+=1/(i*i);return(y);main() int n=5;printf(nThe result islfn,fu
8、n(n);编程题:请编一个函数void fun(int ttMN,int ppN,tt指向一个M行N列的二维数组,求出二维数组每列中最大元素,并依次放入pp所指的一维数组中。二维数组中的数已在主函数中给出。注意;部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。试题程序:#include #include #define M 3#define N 4void fun(int ttMN,int pN)main() int tMN=68,32,54,12,14,24,88,58,42,22,44,56;int pN,i,j,k;prin
9、tf(The riginal data is:n);for(i=0;iM;i+) for(j=0;jN;j+) printf(6d,tij);printf(n);fun(t,p);printf(nThe result is:n);for(k=0;kN;k+)printf(4d,pk);printf(n);第3套填空题:数组xxN保存着一组3位数的无符号正整数,其元素的个数通过变量num传入函数fun()。请补充函数fun(),该函数的功能是:从数组xx中找出个位和百位的数字相等的所有无符号整数,结果保存在数组中,其个数由函数fun()返回。 例如:当xx8=135,78,72,32,222,4
10、24,333,141,541时,bb6=787,232,222,424,333,141。 注意:部分源程序给出如下. 请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。 试题程序: #include #define N 1000 int fun(int xx,int bb,int num) int i,n=0; int g,b; for(i=0;inum;i+) g= 【1】 ;b=xxi/100;if(g=b) 【2】 ; return 【3】 ; main() int xx8=135,787,232,222,424,333,141,541
11、,yyN; int num=8,n=0,i=0; printf(*original data*n); for(i=0;inum;i+) printf(u,xxi); printf(nnn); n=fun(xx,YY,num); printf(nyy=); for(i=0;in;i+) printf(u,yyi);改错题:下列给定程序中函数fun()的功能是计算1/n!的值。 例如:给n输入5,则输出0.008333。 请改正程序中的错误,使它能得到正确结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。 试题程序: #include #include /*found*/
12、int fun(int n) double result=1.0; if(n=0) return 1.0; while(n1&n170) /*found*/ result*=n+; result=1/result; return result; main() int n; printf(Input N:); scanf(d,&n); printf(”n1/d!=lfn,n,fun(n);编程题:编写函数fun(),它的功能是求n以内(不包括n)同时能被5与11整除的所有自然数之和的平方根s,并作为函数值返回。 例如:n为1000时,函数值应为s=96.979379。 注意:部分源程序给出如下。
13、 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。 试题程序: #include #include #include double fun(int n) main() int n=1000; printf(s=fn,fun(1000);第4套填空题:给定程序的功能是判断字符ch是否与串str中的某个字符相同;若相同,什么也不做,若不同,则插在串的最后。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:不得增行或删行,也不得更改程序的结构!试题程序:#include #include void fun(char*str, ch
14、ar ch )while (*str & *str != ch ) str+;if( *str【1】ch )str0 =ch;【2】= 0;main( )chars81,c;printf( nplease enter a string:n );gets ( s );printf (n please enter the character to search : );c = getchar();fun(【3】) ;printf( nthe resultis %sn,s); 改错题:下列给定程序中函数fun()的功能是计算正整数num的各位上的数字之平方和。 例如:输入352,则输出应该是38;若
15、输入328,则输出应该是77。 请改正程序中的错误,使它能得到正确结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。 试题程序: #include #include long fun(long num) /*found*/ long k=1; do k+=(num10)*(num10); num/=10; /*found*/ while(num) return(k); main() long n; printf(Please enter a number:); scanf(ld,an); printf(nldn,fun(n);编程题:请编写函数fun(),它的功能是求F
16、ibonacci数列中小于t的最大的一个数,结果由函数返回。其中Fibonacai数列F(n)的定义为:F(0)=0,F【1】=1, F(n)=F(n-1)+F(n-2) 例如:t=1000时,函数值为987。 注意:部分源程序给出如下: 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。 试题程序: #include #include #include int fun(int t) main() int n; n=1000; printf(n=d,f=dn,n,fun(n); 第5套填空题 :请补充函数fun(),该函数的功能是:把从主函数中输入的字
17、符串str2倒置后接在字符串strl后面。 例如:strl=“How do”,str2=“?od uoy”,结果输出:“How do you do?”。 注意:部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。试题程序:#include #include #define N 40void fun(char *strl,char *str2) int i=0, j=0, k=0, n; char ch,*pl=strl,*p2=str2; while (* (pl+i) i+; while (* (p2+j) ) j+;
18、n= 【1】 ; for (; k=j/2; k+, j-) ch=* (p2+k); * (p2+k) =* (p2+j); * (p2+j) =ch; 【2】 ; for(; 【3】 ;i+) * (pl+i)=*p2+; * (pl+i) = 0; main ( ) char strl N, str2 N; int m, n, k; printf (*Input the string strl & str2*n); printf (nstrl: ); gets (strl); printf (nstr2: ); gets (str2); printf (* The string strl
19、 & str2 *n); puts (strl); puts (str2); fun(str1,str2); printf(“*The new string*n”); puts(str1);改错题:下列给定程序中,函数fun()的功能是找出100n(n不大于1000)之间百位数字加十位数字等于个位数字的所有整数,把这些整数放在s所指的数组中,个数作为函数值返回。 请改正程序中的错误,使它能得到正确结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。试题程序:#include#define N 100int fun(int *s, int n) int i, j=0, k,
20、a,b,c; for(i=100; in; i+)* k=n; a=k%10; k/=10; b=k%10; c=k/10; if (a=b+c)* s j=i; return j;main ( ) int aN, n,num=0, i; do printf(nEnter n( 1000); num= fun (a, n); printf (nnThe result:n); for(i=0; inum; i+) printf ( %5d, a i ); printf (nn); 编程题:程序定义了NN的二维数组,并在主函数中自动赋值。请编写函数fun(int aN,int n),该函数的功能是
21、使数组左下半三角元素中的值加上n。例如:若n的值为3,a数组中的值为 a=2 5 4 1 6 9 5 3 7 则返回主程序后a数组中的值应为 5 5 4 4 9 9 8 6 10 注意:部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。 试题程序:#include #include #include #define N 5fun(int aN, int n)main () int aNN,n, i,j;printf(* The array *n);for(i=0; iN; i+) /*产生一个随机5*5矩阵*/ for(j=0;
22、j=5); /*产生一个小于5的随机数n* /printf (n=%4dn, n); fun (a, n);printf (*THE RESULT*n); for(i=0; iN; i+) for (j=0; jN; j+) printf (%4d,ai j ); printf (n); 第6套填空题 :请补充函数fun(),该函数的功能是:按0到9统计一个字符串中的奇数数字字符各自出现的次数,结果保存在数组num中。注意:不能使用字符串库函数。 例如:输入“x=3.456+0.909*bc”,结果为:1=3,3=2,5=2,7=1,9=2。 注意:部分源程序给出如下。 请勿改动主函数main
23、和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。试题程序:#include#define N 1000void fun(char *tt,int num) int i,j,bb10; char *p=tt; for (i=0; i= 0 &*p= 9 ) 【2】 ; p+; for (i=l, j=0; i10; i=i+2, j+) 【3】 ;main ( ) char str N; int num10 ,k ; printf (nPlease enter a char string: ); gets (str); printf(n*The original
24、string*n); puts (str); fun (str, num); printf (n*The number of letter*n); for (k=0; k5; k+) printf (n); print f (%d=%d, 2*k+1, num k ); printf (n); return;改错题:下列给定程序中,函数fun()的功能是求出数组中最小数和次最小数,并把最小数和a0中的数对调,次最小数和a1中的数对调。 请改正程序中的错误,使它能得到正确结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。试题程序:# include #include #d
25、efine N 20void fun(int *a, int n) int i,m,t,k;* for(i=0; in; i+) m=i; for(k=i; kn; k+) if (akam)* k=m; t=a i; ai=am; am=t; main ( ) int x,bN=ll, 5, 12,0,3, 6, 9, 7, 10,8,n=10, i; for(i=0; in; i+) printf (%d ,bi ); printf (n); fun (b, n); for(i=0; in; i+) printf(%d , bi); printf (n);编程题:m个人的成绩存放在scor
26、e数组中,请编写函数fun(),它的功能是将高于平均分的人数作为函数值返回,将高于平均分的分数放在up所指的数组中。 例如,当score数组中的数据为24,35,88,76,90,54,59,66,96时,函数返回的人数应该是5,up中的数据应为88,76,90,66,96。 注意:部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。试题程序:#include #include #include int fun(int score,int m, int up)main ( ) int i, n, up9; int score 9 =
27、24,35, 88, 76, 90,54,59,66,96; n=fun (score, 9, up); printf (nup to the average score are:); for (i=0; in; i+) printf(%d ,upi );第7套填空题 :请补充main函数,该函数的功能是:从字符串str中取出所有数字字符,并分别计数,然后把结果保存在数组b中并输出,把其他字符保存在b10中。 例如:当strl=“ablcde090”时,结果为: 0:2 1:1 2:1 3:1 4:1 5:1 6:1 7:1 8:1 9:2 0ther charactor:5 注意:部分源程序
28、给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。 试题程序:#include#includemain ( ) int i,bll; char *str=ab9cde090,*p=str ; printf(* the origial data *n); puts (str); for (i=0; ill; i+) bi=0; while (*p) switch( 【1】 ) case 0:b0+;break; case 1:b1+;break; case 2:b2+;break; case 3:b3+;break; case 4:
29、b4+;break; case 5:b5+;break; case 6:b6+;break; case 7:b7+;break; case 8:b8+;break; case 9:b9+;break; 【2】; 【3】; printf (* the result *n); for (i=0; il0; i+) printf (n%d:%d, i,bi );print f ( nother charactor:%d, b i ); 改错题:下列给定程序中,函数fun()的功能是计算并输出high以内的素数之和。high由主函数传给fun()函数。若high的值为100,则函数的值为1060。 请
30、改正程序中的错误,使它能得到正确结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。 试题程序: #include #include #include int fun(int high) int sum=0,n=0, j, yes; while (high=2) yes = 1; for(j=2; j=high/2; j+)* ifhigh%j=0 yes=0 ; break; * if (yes=0) sum+=high; n+; high-; return sum;main ( ) printf (%dn, fun (100);编程题:请编写函数void fun(in
31、t x,int pp,int *n),它的功能是求出能整除x且不是奇数的各整数,并按从小到大的顺序放在pp所指的数组中,这些除数的个数通过形参n返回。 例如,若x中的值为24,则有6个数符合要求,它们是2,4,6,8,12,24。 注意:部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。试题程序:#include #include void fun (int x, int pp, int *n)main () int x, aal000, n, i ; printf (nPlease enter an integer number
32、:n ) ; scanf (%d, &x) ; fun (x, aa, &n) ; for (i=0; in ; i+) printf (%d , aa i); printf (n ) ;第8套填空题:请补充main函数,该函数的功能是:从键盘输入一个长整数,如果这个数是负数,则取它的绝对值,并显示出来。例如,输入:-3847652,结果为:3847652。 注意:部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。试题程序:#include#includemain ( ) long int n; printf(Enter
33、 the data;n); scanf ( 【1】 ); printf (* the absolute value *n); if (n0) 【2】 printf (nn); printf (【3】 );改错题:下列给定程序中,函数fun()的功能是:读入一个字符串(长度20),将该字符串中的所有字符按ASC码降序排序后输出。 例如:输入dathc,则应输出hfdca。 请改正程序中的错误,使它能得到正确结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。试题程序:#include #include *int fun (char t ) char c; int i,j;
34、for (i=0; istrlen(t)-1; i+) for (j=i+l; jstrlen (t); j+) if (tit j ) c= tj;* t j =t i+; t i=c; main ( ) char s81; printf (nPlease enter a character string:); gets (s); printf (nnBefore sorting:n %s, s); fun (s); printf (nAfter sorting decendingly:n%s, s);编程题:请编写一个函数void fun(int m,int k,int xx ),该函数的
35、功能是将大于整数m且紧靠m的k个非素数存入所指的数组中。 例如,若输入15,5,则应输出16,18,20,21,22。 注意:部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。 试题程序: #include #include void fun(int m, int k, int xx )main ( ) int m,n, zz 1000; printf (nPlease enter two integers: ); scanf (%d%d, &m, &n); fun(m, n, zz); for (m=0; mn; m+ ) pr
36、intf (%d , zz m ); printf (n );第9套填空题:请补充main函数,该函数的功能是:从键盘输入一个字符串并保存在字符strl中,把字符串strl中下标为偶数的字符保存在字符串str2中并输出。例如,当str1=“cdefghij”,则str2=“cegi”。 注意:部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。 试题程序:# include# include#define LEN 80main ( ) char str1 LEN ,str2 LEN; char *pl=str1, *p2=
37、str2; int i=0, j=0; printf (Enter the string: n) ; scanf ( 【1】 ); printf (*the origial string*n); while (* (pl+j) ) printf (【2】 ,* (pl+j); j+; for (i=0; ij; i+=2) *p2+=* (strl+i); *p2= 0 ; printf (nThe new string is:%sn, 【3】 ); 改错题:在主函数中从键盘输入若干个数放入数组中,用0结束输入并放在最后一个元素中。下列给定程序中,函数fun()的功能是计算数组元素中值为负数的
38、平均值(不包括0)。 例如:数组中元素的值依次为43,-47,-21,53,-8,12,0,则程序的运行结果为-25.333333。 请改正程序中的错误,使它能得到正确结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。 试题程序: #include #include double fun(int x ) double sum=0.0; int c=0, i=0;* while (xi=0) if (xi0) sum=sum+xi c+; i+; * sum=sumc; return sum;main ( ) int x1000; i=0; printf (nPlease
39、 enter some data (end with 0) :); do scanf (%d, &x i ); while (x i+ !=0); printf (%fn, fun (x); 编程题:请编写一个函数int fun(int*s,int t,int *k),用来求出数组的最小元素在数组中的下标并存放在k所指的存储单元中。 例如,输入如下整数:234 345 753 134 436 458 100 321 135 760 则输出结果为6,100。 注意:部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。试题程序:#inc
40、lude #include int fun(int *s,int t, int *k)main ( ) int a10=234,345,753,134,436,458,100,321,135,760,k; fun(a, 10, &k); printf(%d, %dn , k, ak);第10套填空题:请补充main函数,该函数的功能是:从一个字符串中截取前面若干个给定长度的子字符串。其中,strl指向原字符串,截取后的字符存放在str2所指的字符数组中,n中存放需截取的字符个数。 例如:当strl=“cdefghij”,然后输入4,则str2=“cdef”。 注意:部分源程序给出如下。 请勿改
41、动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。试题程序:#include #include#define LEN 80main ( ) char str1 LEN, str2 LEN; int n, i; printf (Enter the string:In); gets (strl); printf (Enter the position of the string deleted: ); scanf ( 【1】 ); for (i=0; in; i+) 【2】 ; str2 i=0; printf (The new string is:%
42、sn, 【3】 );改错题:下列给定程序中,函数fun()的功能是:依次取出字符串中所有的字母,形成新的字符串,并取代原字符串。 请改正程序中的错误,使它能得到正确结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。试题程序:#include #include void fun(char *s) int i,j; for(i=0,j=0; si!= 0; i+) * if(si= A&si=a&s i= z) s j+=s i; * sj= /0;main ( ) char item80; printf(nEnter a string: ); gets (item); p
43、rintf (nnThe string is: %sn, item); fun (item); printf (nnThe string of changing is :%sn,item);编程题:下列程序定义了NN的二维数组,并在主函数中自动赋值。请编写函数fun(int aN),该函数的功能是使数组右上半三角元素中的值全部置成0。例如a数组中的值为 a=4 5 6 1 7 9 3 2 6 则返回主程序后a数组中的值应为 0 0 0 1 0 0 3 2 0 注意:部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。试题程序:#in
44、clude #include #include #define N 5int fun (int a N)main ( ) int aN N,i,j; printf (*The array*n); for (i=0; iN; i+) /*产生一个随机的5*5矩阵* / for (j=0; jN; j+) ai j =rand() %10; printf(%4d, ai j); printf (n); fun (a); printf (THE RESULTn); for (i=0; iN; i+) for (j=0; jN; j+) printf(%4d,ai j); printf (n); 第1
45、1套填空题:请补充函数fun(),该函数的功能是判断一个数的个位数字和百位数字之和是否等于其十位上的数字,是则返回“yes!”,否则返回“no!”。 注意;部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。试题程序:include #include char *fun(int n) int g,s,b; g=n%10; s=n/10%10; b= 【1】 ; if(g+b)=s) return 【2】 ; else return 【3】 ;main () int num=0; printf(*Input data *n)
46、; scanf(%d,&num); printfnnn); printf(* The result *n); printf(nnn%s,fun(num);改错题:下列给定的程序中。函数fun()的功能是:用选择法对数组中的n个元素按从大到小的顺序进行排序。 请改正程序中的错误,使它能得到正确结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的岵构。试题程序:#lnclude#define N 20void fun(int a,int n) int i,j,t,p;* for(j=0;jn-1;j+) ; p=j; for(i=j;iap) p=i; t=ap; ap=aj;*
47、ap=t; main() int aN=ll,32,-5,2,14,i,m=5; printf排序前的数据:); for(i=0;im;i+) printf(%d ,ai); printf(n); fun(a,m); printf(排序后的顺序 );for(i=0;im;i+) printf(%d ,ai); printf(n);编程题:下列程序定义了NN的二维数组,并在主函数中赋值。请编写函数fun(),函数的功能是求出数组周边元素的平方和并作为函数值返回给主函数中的s。例如:若a数组中的值为 a=0 1 2 7 9 1 11 21 5 5 2 21 6 1l 1 9 7 9 10 2 5
48、4 1 4 1 则返回主程序后s的值应为310。 注意:部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。试题程序:#include #include#include#define N 5int fun (int w N)main() int aNN=0,1,2,7,9,1,11,21,5,5,2, 21,6,11,1,9,7,9,10,2,5,4,1,4,1; int i, j, s; printf(*The array*n ); for (i=0; iN; i+) for (j=0;jN;j+) printf(%4d ,aij
49、); printf(n ); s=fun(a); printf(*THE RESULT*n ); printf(The sum is :%dn ,s);第12套填空题:请补充函数fun(),函数fun()的功能是求7的阶乘。 注意:部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。试题程序:#includelong fun(int n) if (【1】 ) return (n*fun (【2】); else if(【3】) return 1;main ( ) int k=7; printf (%d!=%ldn, k, f
50、un (k);改错题:下列给定程序中,函数fun()的作用是:将字符串tt中的大写字母都改为对应的小写字母,其他字符不变。例如,若输入Ab,cD,则输出ab,cd。 请改正函数fun()中的错误,使它能得出正确的结果。 注意;不要改动main函数,不得增行或删行,也不得更改程序的结构。试题程序:#include #include #include char *fun (char tt) int i;for (i=0;tti;i+)* if( A =tti| (tti= Z ) tt i +=32; return (tt);main ( ) int i; char tt81;printf(nPl
51、ease enter a string: ); gets (tt); printf(nThe result string is:n%s, fun(tt);编程题:请编写一个函数fun(),它的功能是:将ss所指字符串中所有下标为奇数位置的字母转换为大写(若该位置上不是字母,则不转换)。 例如,若输入abc4Efg,则应输出aBc4EFg。 注意:部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。试题程序:#include#include#includevoid fun (char *ss)main ( ) char tt81; p
52、rintf (nPlease enter an string within 80 characters:n); gets (tt); printf (nnAfter changing, the string n %s,tt); fun (tt); printf (nbec0mesn %sn, tt);第13套填空题:请补充函数fun(),该函数的功能是:把字符下标能被2或3整除的字符从字符串sb中删除,把剩余的字符重新保存在字符串sb中。字符串sb从键盘输入,其长度作为参数传入函数fun()。例如,输入“abcdefghijk”,输出“bfh”。注意:部分源程序给出如下。请勿改动主函数main
53、和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。试题程序:#include #define N 80void fun(char s, int n) int i, k; 【1】 ; for(i=0; in; i+) sk+ =s i; if(【2】 ) k-; 【3】; main ( ) int i=0, strlen=0; char str N; printf (nInput a string:n); gets (str); while (str i !=0) strlen+; i+; fun (str, strlen); printf(n* display s
54、tring *n); puts (str); 改错题:下列给定程序中,函数fun()的功能是:按顺序给s所指数组中的元素赋予从2开始的偶数,然后再按顺序对每5个元素求一个平均值,并将这些值依次存放在w所指的数组中。若s所指数组中元素的个数不是5的倍数,多余部分忽略不计。例如,s所指数组有14个元素,则只对前10个元素进行处理,不对最后的4个元素求平均值。请改正函数fun()中的错误,使它能得出正确的结果。试题程序:#include #define SIZE 20fun (double *s,double *w) int k,i; double sum; for (k=2, i=0; iSIZE
55、; i+) s i =k; k+=2; sum=0.0; for (k=0, i=0; iSIZE; i+) sum+=s i;* if (i+1%5=0) wk=sum/5; sum=0;k+; return k;main ( ) double aSIZE,bSIZE/5; int i, k; k=fun (a,b); printf (The original data:n); for (i=0; iSIZE; i+) if(i%5=0) printf(n); printf (%4.0f, a i ); printf (nnThe result:n); for(i=0;ik;i+) prin
56、tf(%6.2f,bi); printf ( nn ); 编程题:请编写一个函数fun(),它的功能是:求出一个2M整型二维数组中最大元素的值,并将此值返回调用函数。注意:部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。试题程序:#define M 4#include fun (int aM)main ( ) int arr2 M=5,8,3,45,76,-4,12,82; printf (max=%dn, fun (arr);第14套填空题:给定程序的功能是将十进制正整数m转换成k进制(2k9)数的数字输出。例如,若输入8和2,
57、则应输出1000(即十进制数8转换成二进制表示是1000)。 注意:部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。 试题程序:#includevoid fun(int m,int k) int aa20,i;for(i=0;m;i+) aai【1】;m=【2】;for(;i;i- -)printf(d,【3】i-1);main() int b,n;printf(nplease enter a number and a base:n);scanf(dd,&n,&b);fun(nb);改错题:下列给定的程序中,fun()
58、函数的功能是:将p所指字符串中每个单词的最后一个字母改成大写(这里的“单词”是指有空格隔开的字符串)。例如,若输入:I am a student to take the examination 则应输出:I aM A studenT tO takE thE examinatioN 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。 试题程序:#include #include #include void fun(char *p) int k=0; for (;*p;p+) if (k)* if (p= ) k=0;* *p=toupp
59、er ( * (p-1); else k=l;main() char chrstr64; int d; printf(nPlease enter an English sentence within 63 letters:); gets(chrstr); d=strlen(chrstr); chrstrd= ; chrstrd+l=0; printf (nBofore changing:n %s,chrstr); fun (chrstr); printf (nAfter changing:n %s, chrstr);编程题:学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s
60、中,请编写函数fun(),它的功能是:把分数最高的学生数据放在h所指的数组中。注意:分数高的学生可能不只一个,函数返回分数最高学生的人数。 注意:部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。试题程序:#include #define N 16typedef struct char num10; int s ;STREC;int fun (STREC *a, STREC *b)main ( ) STREC sN=GA005,85, GA003,76,GA002,69, GA004,85, GA001, 91,GA007,72,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 酒店设备购销合同样本
- 酒水买卖合同格式
- 银行个人贷款合同样本
- 银行投标合规调整支持
- 阅读大卫科波菲尔的英语感悟
- 防水工程分包施工合同
- 防锈漆原料交易条件
- 零星工程劳务合作协议
- 预制混凝土购销条款
- 食品采购框架合同范例
- 2024年秋新鲁科版三年级上册英语课件 Unit 6 lesson 3
- 《网络安全法》考试题库及答案
- 人教版 初中物理 初中物理 第十六章 电压 电阻 16.3 电阻 教案(2023新课标)
- 某某医院心血管内科重点学科建设可行性报告
- 医院考勤制度实施细则
- 第二十三章 《旋转》复习试题 2024-2025学年人教版九年级数学上册
- 2024至2030年中国NFT艺术交易平台市场现状研究分析与发展前景预测报告
- 农药登记用卫生杀虫剂室内药效试验及评价 第9部分:驱避剂 征求意见稿
- 肺结节诊治中国专家共识(2024年版)解读
- 移动GIS原理与系统开发智慧树知到答案2024年南京邮电大学
- 新版外国人永久居住身份证考试试题
评论
0/150
提交评论