1、【考试大论坛】-2011 年计算机二级 C 语言 99 套上机操作题及答案.第 1 套填空题请补充 FUN 函数,FUN 函数的功能是求 10 的阶乘。注意:部分源程序给出如下。请勿改动主函数 main 和其他函数中的任何内容,仅在 fun 函数的横线上填入所编写的若干表达式或语句。试题程序: #include long fun(int n)if (_1_)return (n*fun(_2_);return _3_;main()printf(“10!=%ldn“, fun(10);第 1 处填空:n1 或 1#include /*found*/IsPrime(int n);int i, m;m
2、 = 1;/*found*/for (i=2; i#include #include int fun(int score,int m, int below)main()int i,n,below9;int score9=10,20,30,40,50,60,70,80,90;FILE *out;n=fun(score,9,below);printf(“nBelow the average score are :“);out=fopen(“out.dat“, “w“);for(i=0;iint fun(int n);main()int i, n = 0;scanf(“%d“, for (i=0;
3、i#include void fun(char *p, char *q, char *c)/*found*/int k = 1;/*found*/while (*p != *q)if (*p #include void fun(int *a,int *n) main() int aa1000,n,k;FILE *out;fun(aa,out=fopen(“out.dat“, “w“);for(k=0;k#include #include #define N 81void fun(char *s)int i, n = strlen(s)-1;char t;for (i=0; i#include
4、void fun(char *s)int i, j;/*found*/for (i=0, j=0; si!=0; i+)if (sj=0 FILE *out;printf(“nPlease enter an integer number:n“); scanf(“%d“,fun(x,aa,for(i=0;idouble fun(int n)int i;double sum = 0.0;for (i=1; _1_; i+)if (i%3=0 _2_ i%7=0)sum += _3_/i;return sum;main()int n;double s;printf(“nInput n: “);sca
5、nf(“%d“, s = fun(n);printf(“nns=%fn“, s);第 1 处填空:i=i第 2 处填空:|第 3 处填空:1.0 或(double)1改错题下列给定程序中,fun 函数的功能是:分别统计字符串中大写字母和小写字母的个数。例如,给字符串 s 输入:AaaaBBb123CCccccd,则应输出结果:upper=6,lower=8请改正程序中的错误,使程序能得出正确的结果。注意:不要改动 main 函数,不得增行或删行,也不得更改程序的结构!试题程序:#include #include /*found*/void fun(char *s, int a, int b)w
6、hile (*s)/*found*/if (*s=A int bb26, k;FILE *out;printf(“nPlease enter a char string:“);scanf(“%s“,aa);fun(aa,bb);for(k=0;kdouble fun(double r)return 3.14159*_1_/2.0;main()double x;printf(“Enter x: “);scanf(“%lf“, _2_);printf(“ s = %lfn “, fun(_3_);第 1 处填空:r*r第 2 处填空:an = x;while (x != ap)p = p+1;if
7、 (p = n)return -1;else/*found*/for (i=p; i#include void fun(int m, int k, int xx)main()int m,n,zz1000;FILE *out;printf(“nPlease enter two integers:“);scanf(“%d,%d“,fun( m,n,zz);for(m=0; m=i) if(k=0)xxg+=I;k-;elsebreak;第 6 套填空题给定程序的功能是计算并输出下列级数的前 N 项之和,直到大于 Q 为止,Q 的值通过形参传入。例如,若 Q 的值为 50.0,则函数值为 50.41
8、6687。请勿改动主函数 main 和其他函数中的任何内容,仅在 fun 函数的横线上填入所编写的若干表达式或语句。试题程序:#include double fun(double q)int n;double s;n = 2;s = 2.0;while (s _1_ q)s = s + (double)(n+1)/n;_2_;printf(“n=%dn“,n);_3_;main()printf(“%fn“, fun(50);第 1 处填空:#include double fun(int m)double y = 1.0;int i;/*found*/for (i=2; i# include #
9、 define LEN 20void fun(char a, char b, int n)main() char str1LEN,str2LEN;int n;FILE *out;printf(“Enter the string:n“);gets(str1);printf(“Enter the position of the string deleted:“);scanf(“%d“,fun(str1, str2, n);printf(“The new string is:%sn“,str2);fun(“Hello World!“, str2, 9);out = fopen(“out.dat“,
10、“w“);fprintf(out, “%s“, str2);fclose(out);答案是:void fun(char a, char b, int n)int I,j=0;for(i=0;iint c1, c2, c3;void fun(long n)c1 = c2 = c3 = 0;while (n)switch(_1_)case 1:c1+;_2_;case 2:c2+;_3_;case 3:c3+;n /= 10;main()long n = 123114350L;fun(n);printf(“nThe result :n“);printf(“n=%ld c1=%d c2=%d c3=
11、%dn“, n, c1, c2, c3);第 1 处填空:n%10第 2 处填空:break第 3 处填空:break改错题下列给定程序中函数 fun 的功能是:用选择法对数组中的 n 个元素按从小到大的顺序进行排序。请改正程序中的错误,使程序能得出正确的结果。注意:不要改动 main 函数,不得增行或删行,也不得更改程序的结构!试题程序:#include #define N 20void fun(int a, int n)int i, j, t, p;for (j=0; j# include void fun(int *s, int t , int *k)main( )int a10=876
12、,675,896,101,301,401,980,431,451,777, k ;FILE *out;fun(a,10,printf(“%d, %dn“, k, ak);out = fopen(“out.dat“, “w“);fprintf(out, “%dn%d“, k, ak);fclose(out);答案是:void fun (int *s,int t,int *k)int I ,max;max=s0;for(i=0;imax)max=si;*k=I;第 8 套填空题请补充 main 函数,该函数的功能是:从键盘输入一组整数,使用条件表达式找出最大的整数。当输入的整数为 0 时结束。例如
13、,输入 1 2 3 5 4 0 时,最大的数为 5。请勿改动主函数 main 和其他函数中的任何内容,仅在 fun 函数的横线上填入所编写的若干表达式或语句。试题程序: #include #include #define N 100main()int numN;int i = -1;int max = 0;printf(“nInput integer number: n“);doi+;printf(“num%d=“, i);scanf(“%d“, _1_);max = _2_ numi : max; while(_3_);printf(“max=%dn“, max);第 1 处填空:char max, *q;int i = 0;max = pi;while (pi != 0)if (max p)