p++; }
for (i=l, j=0; i<10; i=i+2, j++) 【3】 ; main ( )
{ char str [N]; int num[10] ,k ;
printf (\: \ gets (str);
printf(\ puts (str); fun (str, num);
printf (\ for (k=0; k<5; k++) { printf (\
print f (\ }
printf (\ return; }
改错题:下列给定程序中,函数fun()的功能是求出数组中最小数和次最小数,并把最小数和a[0]中的数对调,次最小数和a[1]中的数对调。 请改正程序中的错误,使它能得到正确结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。
试题程序:
# include
void fun(int *a, int n) { int i,m,t,k;
********************************** for(i=0; i for(k=i; k ********************************** k=m; t=a [i]; a[i]=a[m]; a[m]=t; } } main ( ) { int x,b[N]={ll, 5, 12,0,3, 6, 9, 7, 10,8},n=10, i; for(i=0; i printf (\ printf (\ fun (b, n); for(i=0; i printf(\ printf (\} 编程题:m个人的成绩存放在score数组中,请编写函数fun(),它的功能是将高于平均分的人数作为函数值返回,将高于平均分的分数放在up所指的数组中。 例如,当score数组中的数据为24,35,88,76,90,54,59,66,96时,函数返回的人数应该是5,up中的数据应为88,76,90,66,96。 注意:部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。 试题程序: #include int fun(int score[],int m, int up[]) { } main ( ) { int i, n, up[9]; int score [ 9] ={24,35, 88, 76, 90,54,59,66,96}; n=fun (score, 9, up); printf (\:\ for (i=0; i printf(\} 第7套 填空题 :请补充main函数,该函数的功能是:从字符串str中取出所有数字字符,并分别计数,然后把结果保存在数组b中并输出,把其他字符保存在b[10]中。 例如:当strl=“abl23456789cde090”时,结果为: 0:2 1:1 2:1 3:1 4:1 5:1 6:1 7:1 8:1 9:2 0ther charactor:5 注意:部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。 试题程序: #include { int i,b[ll]; char *str=\,*p=str ; printf(\ for (i=0; i { switch( 【1】 ) { case '0':b[0]++;break; case '1':b[1]++;break; case '2':b[2]++;break; case '3':b[3]++;break; case '4':b[4]++;break; case '5':b[5]++;break; case '6':b[6]++;break; case '7':b[7]++;break; case '8':b[8]++;break; case '9':b[9]++;break; 【2】; } 【3】; } printf (\ for (i=0; i printf (\:%d\ print f ( \:%d\} 改错题:下列给定程序中,函数fun()的功能是计算并输出high以内的素数之和。high由主函数传给fun()函数。若high的值为100,则函数的值为1060。 请改正程序中的错误,使它能得到正确结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。 试题程序: #include #include { 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 (\ 编程题:请编写函数void fun(int x,int pp[],int *n),它的功能是求出能整除x且不是奇数的各整数,并按从小到大的顺序放在pp所指的数组中,这些除数的个数通过形参n返回。 例如,若x中的值为24,则有6个数符合要求,它们是2,4,6,8,12,24。 注意:部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。 试题程序: #include void fun (int x, int pp[], int *n) { } main () { int x, aa[l000], n, i ; printf (\:\\n \ scanf (\ fun (x, aa, &n) ; for (i=0; i printf (\ printf (\} 第8套 填空题:请补充main函数,该函数的功能是:从键盘输入一个长整数,如果这个数是负数,则取它的绝对值,并显示出来。 例如,输入:-3847652,结果为:3847652。 注意:部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。 试题程序: #include { long int n; printf(\ scanf ( 【1】 ); printf (\ if (n<0) 【2】 printf (\ printf (【3】 ); } 改错题:下列给定程序中,函数fun()的功能是:读入一个字符串(长度<20),将该字符串中的所有字符按ASCⅡ码降序排序后输出。 例如:输入dathc,则应输出hfdca。 请改正程序中的错误,使它能得到正确结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。 试题程序: #include ********************************** int fun (char t[ ]) { char c; int i,j; for (i=0; i ********************************** t [j ]=t [i++]; t [i]=c; } } main ( ) { char s[81]; printf (\:\ gets (s); printf (\:\\n %s\ fun (s); printf (\:\\n%s\} 编程题:请编写一个函数void fun(int m,int k,int xx[ ]),该函数的功能是将大于整数m且紧靠m的k个非素数存入所指的数组中。 例如,若输入15,5,则应输出16,18,20,21,22。 注意:部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。 试题程序: #include void fun(int m, int k, int xx[ ]) { } main ( ) { int m,n, zz [1000]; printf (\: \