1、2009 年春浙江省高等学校计算机等级考试试卷(二级 C)试题 1(每小题 3 分,共 12 分)阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。【程序说明】输入一个正整数 n,计算下列式的前 n 项之和。917531s运行示例:Enter n:2Sum=0.67【程序】#include main() int denomiator,flag,i,n;double item,sum;printf(“Enter n:“);scanf(“%d“,denomiator=1;(1) ;sum=0;for(i=1; (2) ;i+)(3) ;sum=sum+item;(4) ;de
2、nomiator=denomiator+2;printf(“Sum=%.2fn“,sum);【供选择的答案】(1)Aflag=0 Bflag=-1;Cflag=n Dflag=1 /答案 B(2)Ai=n Bin Di#include int prime(int m)int i,n;if(m=1)return 0;n=sqrt(m);for(i=2;ivoid count(char *s,int *digit,int *letter,int *other) (9) while( (10) )if(*s=0int a7=8,9,7,9,8,9,7;for(i=0;i=0;i-)if(ai=8)b
3、reak;flag-i;printf(“%dn“,flag);flag=0;for(i=0;iint f1(int n)if(n=1)return 1;else return f1(n-1)+n;int f2(int n)switch(n) case 1:case 2:return 1;default: return f2(n-1)+f2(n-2);void f3(int n)printf(“%d“,n%10);if(n/10!=0)f3(n/10);void f4(int n)if(n/10!=0)f4(n/10);printf(“%d“,n%10);main()printf(“%dn“,f
4、1(4);printf(“%dn“,f2(4);f3(123);printf(“n“);f4(123);printf(“n“);(17)程序运行时,第 1 行输出 (17) 。A10 B24C6 D1 /答案 A(18)程序运行时,第 2 行输出 (18) 。A1 B3C2 D4 /答案 B(19)程序运行时,第 3 行输出 (19) 。A123 B3C321 D1 /答案 C(20)程序运行时,第 4 行输出 (20) 。A1 B123C3 D321 /答案 B试题 6(每小题 3 分,共 12 分)阅读下列程序并回答问题,在每小题提供的若干可选答案中,挑选一个正确答案。【程序】#inclu
5、de struct numint a;int b;void f(struct num s,int n)int index,j,k;struct num temp;for(k=0;kb=0)count+;if(count=m)no+;p-b=no;count=0;p+;if(p=s+n)p=s;f(s,n);printf(“%d:%dn“,sk-1.b,sk-1.a);(21)程序运行时,输入 5 4 3,输出 (21) 。A3:5 B2:3C1:2 D4:1 /答案 A(22)程序运行时,输入 5 3 4,输出 (22) 。A3:5 B1:2C4:3 D4:2 /答案 D(23)程序运行时,
6、输入 7 5 2,输出 (23) 。A1:5 B6:1C2:3 D2:4 /答案 C(24)程序运行时,输入 4 2 4#,输出 (24) 。A3:3 B4:2C2:4 D4:1 /答案 D试题 7(28 分)(1)定义函数 fact(n)计算 n 的阶乘: n!=1*2*n,函数形参 n 的类型是int,函数类型是 double。(2)定义函数 cal(x,e )计算下列算式的值,直到最后一项的绝对值小于 e,函数形参 x 和 e 的类型都是 double,函数类型是 double。要求调用自定义函数 fact(n)计算 n 的阶乘,调用库函数 pow(x,n)计算 x 的 n 次幂。!43!2xxs(3)定义函数 main(),输入两个浮点数 x 和 e,计算并输出下列算式的值,直到最后一项的值小于精度 e,要求调用函数 cal(x,e)计算下列算式的值。!43!2xxs参考程序:#include #include (1)double fact(int n)int i;double t=1;for(i=1;i=e)sum=sum+pow(x,i)/fact(i);i+;return sum;(3)main()double x,e,sum;scanf(“%lf%lf“,sum=cal(x,e);printf(“sum=%fn“,sum);