1、秋季浙江省二级C试题2007年秋浙江省高校计算机等级考试试卷(二级C)试题1(每小题3分,共12分)程序说明输入2个整数lower和upper,输出一张华氏-摄氏转换表,华氏温度的取值范围lower,upper,每次增加2F,计算公式:c=5*(f-32)/9;式中c表示摄氏,f表示华氏。运行示例:Enter lower:30Enter upper:35fahr celsius30 -1.132 0.034 1.1程序:#include main()int fahr,lower,upper; double celsius; printf(Enter lower:); scanf(%d,&low
2、er); printf(Enter upper:); scanf(%d,&upper); printf(fahr celsiusn); for(fahr=lower; (1) ; (2) ) celsius= (3) ; printf(%d (4) n,fahr,celsius); 【供选择的答案】(1)A、fahr=upper B、 fahr=upper D、fahrupper 答案:A(2)A、fahr+ B、fahr=fahr-2C、fahr+2 D、fahr=fahr+2 答案:D(3)A、5*(fahr-32)/9 B、(5.0/9.0)*(fahr-32)C、5/9*(fahr-3
3、2) D、5*fahr-32/9 答案:B(4)A、%6d B、%6.2fC、%6.1f D、%6.0f 答案:C试题2(每小题3分,共12分)程序说明输入2个正数a和n,求a+aa+aaa+a(n个a)这和,要求定义并调用函数fn(a,n),这它的功能是返回aaa(n个a)。例如fn(3,2)的返回是33。运行示例:Enter a:2Enter n:3sum=246#include main()int i,n;long a,sn;long fn(long a,int n);printf(Enter a:);scanf(%ld,&a);printf(Enter n:);scanf(%d,&n)
4、; (5) for(i=1;i=n;i+) (6) printf(sum=%ldn,sn);long fn(long a,int n)int i;long tn=0;for(i=1;i=n;i+) tn=tn+a; (7) (8) 【供选择的答案】(5)A、sn=0; B、;C、sn=1; D、sn=a; 答案:A(6)A、sn=sn+fn(a,i); B、sn=sn+fn(a,n); C、sn=sn+fn(i,a); D、sn=sn+fn(i,n); 答案:A(7)A、tn=tn*10 B、a=a*10;C、sn=tn*10; D、sn=sn+a*10 答案:B(8)A、return; B、
5、return sn;C、return a; D、return tn; 答案:D试题3(每小题3分,共12分)程序说明 输入一行以回车结束的字符串(少于80个字符),删除其中的英文字母和数字字符以外的其它字符,再判断字符串是否对称(不区分大小写)。运行示例1:Enter a string:Madam Im AdamYes运行示例2:Enter a string:elephantNo程序#include (9) main() int flag,i,k,length; char str80; printf(Enter a string:); gets(str); i=k=0; while(stri)
6、 if(isupper(stri)stri=tolower(stri); if(isdigit(stri)|isalpha(stri) ) (10) k+; i+; (11) length=k; flag=1; for(k=0;k=length/2;k+) if(strk!=strlength-k-1) (12) break; if(flag)printf(yesn); else printf(non); 【供选择的答案】(9)A、ctype.h 、string.h 答案:A、stdio.h 、math.h(10)A、i+; 、strk=stri;、stri=strk; 、; 答案:B(11)
7、A、stri=0; 、stri-1=0;、strk=0; 、; 答案:C(12)A、flag=1; 、flag=0;、; 、continue; 答案:B试题4(每小题3分,共12分)阅读下列程序并回答问题,在每小题提供的若干可选答案中挑选一个正确答案。程序#include main()int i,m;scanf(%d,&m); for(i=2;i=m/2;i+) if(m%i=0) printf(%d#,i); break;/第8行 printf(%d,i);(13)、程序运行时,输入5,输出 。A、3 B、3#3C、3#4 D、3#5 答案:A(14)、程序运行时,输入9,输出 。A、3 B
8、、3#3C、3#4 D、3#5 答案:B(15)、将程序第8行改为“continue;”程序运行时,输入9,输出 。 A、3 B、3#3C、3#4 D、3#5 答案:D(16)、将程序第8行改为“;”程序运行时,输入9,输出 。A、3 B、3#3C、3#4 D、3#5 答案:D试题5(每小题3分,共12分)阅读下列程序并回答问题,在每小题提供的若干可选答案中挑选一个正确答案。程序#include main() int i,j,temp; int a33=1,2,3,4,5,6,7,8,9 ; void f(int *x,int *y); for(i=0;i3;i+) for(j=0;j3;j+
9、) if(ij) f(&aij,&aji);/第8行 for(i=0;i3;i+) for(j=0;j3;j+) printf(%2d,aij);void f(int *x,int *y)int t; t=*x;*x=*y;*y=t; (17)程序的输出是 。A、3 2 1 6 4 9 8 7 B、7 8 9 4 5 6 1 2 3C、1 2 3 4 5 6 7 8 9 D、1 4 7 2 5 8 3 6 9 答案:D(18)、第8行改为“f(&aij,&aji);”后,程序的输出 。A、3 2 1 6 4 9 8 7 B、7 8 9 4 5 6 1 2 3C、1 2 3 4 5 6 7 8
10、9 D、1 4 7 2 5 8 3 6 9 答案:C(19)、第8行改为“if(i2)f(&aij,&a2-ij);”后,程序的输出 。A、3 2 1 6 4 9 8 7 B、7 8 9 4 5 6 1 2 3C、1 2 3 4 5 6 7 8 9 D、1 4 7 2 5 8 3 6 9 答案:B(20)、第8行改为“if(j2)f(&aij,&ai2-j);”后,程序的输出 。A、3 2 1 6 4 9 8 7 B、7 8 9 4 5 6 1 2 3C、1 2 3 4 5 6 7 8 9 D、1 4 7 2 5 8 3 6 9 答案:A试题6(每小题3分,共12分)阅读下列程序并回答问题,在
11、每小题提供的若干可选答案中挑选一个正确答案。程序#include main() int i,x1,x2; int a5=1,2,3,4,5; void f1(int x,int y),f2(int *x,int *y); x1=x2=0; for(i=0;iax1) x1=i; if(aiax2) x2=i; f2(&ax1,&a0); for(i=0;i5;i+) printf(%2d,ai); printf(n); f1(ax2,a1); for(i=0;i5;i+) printf(%2d,ai); printf(n); f2(&ax2,&a4); for(i=0;i5;i+) print
12、f(%2d,ai); printf(n); f1(ax1,a3); for(i=0;i5;i+) printf(%2d,ai); printf(n);void f2(int *x,int *y)int t; t=*x;*x=*y;*y=t; void f1(int x,int y)int t; t=x;x=y;y=t; (21)、程序运行时,第1行输出 。A、1 2 3 4 5 B、2 1 3 4 5C、1 2 3 5 4 D、5 2 3 4 1 答案:D(22)、程序运行时,第2行输出 。A、1 2 3 4 5 B、2 1 3 4 5C、1 2 3 5 4 D、5 2 3 4 1 答案:D(
13、23)、程序运行时,第3行输出 。A、1 2 3 4 5 B、2 1 3 4 5C、1 2 3 5 4 D、5 2 3 4 1 答案:A(24)、程序运行时,第4行输出 。A、1 2 3 4 5 B、2 1 3 4 5C、1 2 3 5 4 D、5 2 3 4 1 答案:A试题7(28分) 从n个不同的元素中,每一次取出k个不同的元素,不管其顺序全并面一组,称为组合。组合种数的计算公式如下:1、定义函数fact(n)计算n的阶乘:n!=1*2*3*n,函数的返回值类型是double。2、定义函数cal(k,n)计算组合种数,函数的返回值类型是double,要求调用fact(n)计算n的阶乘。3、定义函数main(),输入整数n,计算并输出n的所有组合数
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1