《2007年春浙江省计算机等级考试二级C试卷及答案(共6页).doc》由会员分享,可在线阅读,更多相关《2007年春浙江省计算机等级考试二级C试卷及答案(共6页).doc(6页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上2007年浙江省高等学校计算机等级考试试卷(二级c)试题1(每小题3分,共12分)程序说明:输入一个正整数,按照从高位到低位的顺序输出各位数字运行示例:enter an integer:1902the digits are:1 9 0 2 #include stdio.h BADCvoid main()int digit,number,power,t;printf(enter an integer:);scanf(%d,&number);number=number=10 ) power=power*10;t=t/10;printf(the digits are:);
2、while(-3- power=1) digit=number/power; printf(%d ,digit); -4- number%=power power/=10; 供选择的答案:B(1) A、t=1; B、t=number; C、; D、NUMBER=1;A(2)A、t=10 B、power=100 C、t!=0; D、number!=0B(3) A、pow=0 B、digit!=0 C、number!=0 D、power=1(4) A、number/=power B、number%=10; C、number%=power D、number/=10 试题2、(每小题3分,共12分)A
3、CBA连续输入一批学生的成绩,直到输入成绩的数量超过50个或者输入的成绩不是有效成绩(有效成绩为0100),将输入有效成绩存入数组mark中,在数组中查找并输出最高分。函数getmax(array,n)在有n个元素的一维数组array中找出并返回最大值。运行示例:enter marks: 90 80 77 65 -1max=90#include stdio.h#define MAXNUM 50int getmax(-5-) int k,max;-6-; for(k=1;k5;k+)if(max0)printf(max=%dn,getmax(-8-); / elseprintf(no marks
4、!n);供选择的答案:D(5)A、int n;int array B、void C、int *array D、int array,int nB(6)A、max=0; B、; C、max=array0; D、,sc=arrayn;B(7)A、k=0&x=100 B、k=0&xMAXNUM&|x=0|xMAXNUM|x=0|x=100A(8)A、mark, k B、mark C、mark D、mark, n试题3、(每小题3分,共12分)ABBD输入一个4行4列的矩阵,计算并输出该矩阵除4条边以外的所有元素之和sum1,再计算和输出该矩阵主对角线以上(含主对角线)的所有元素之和sum2,主对角线为
5、从矩阵的左上角至右下角的连线。运行示例:enter an array:1 2 3 45 6 7 89 10 11 12 13 14 15 16#include stdio.hvoid main()int j,k,sum;int a44;printf(enter an array:n); for(j=0;j4;j+) for(k=0;k4;k+) scanf(%d,&ajk); sum=0; for(j=0;j4;j+) for(k=0;k4;k+) if(-9-) / sum+=ajk; printf(sum1=%dn,sum); -10-; / for(j=0;j4;j+) for(-11-
6、; -12- k+) sum+=ajk; printf(sum2=%dn,sum);供选择的答案:A(9) A、j!=3 & k!=3 & j!=0 & k!=0 B、j!=3 & k!=3 | j!=0 & k!=0C、j!=3 |k!=3 & j!=0 | k!=0 D、j=3 & k=3 | j=0 & k=0B(10)A、sum1=0; B、sum=0; C、sum2=0; D、;B(11)A、k=0 B、k=j C、k=1 D、k=3D(12)A、k0 C、kj D、k0)j=i;if(i!=0)&(j=0) k=i;elsek=-1;printf(j=%d,k=%dn,j,k);A
7、(13)程序运行时,输入5,输出-13- A、j=0,k=5 B、j=5,k=5 C、j=0,k=-1 D、j=5,k=-1A(14)程序运行时,输入99,输出-14- A、j=99,k=-1 B、j=0,k=-1 C、j=0,k=99 D、j=99,k=99D(15)将每12行改为”k=-1;j=1/10;”后,程序运行时,输入99输出是:-15- A、j=99,k=-1 B、j=9,k=99 C、 j=99,k=99 D、j=9,k=-1(16)将第7行改为“if(i/10)0),第12行改为”k=-1;”后,程序运行时,输入5,输出-16- A、j=0,k=-1 B、j=0, k=0 C
8、、j=5, k=5 D、j=5, k=-1试题5(每小题3分,共12分)DBAB#include stdio.hint k=1;void fun();void main()int j;for(j=0;j2;j+)fun();printf(k=%d,k);void fun()int k=1; /第十一行printf(k=%d,k);k+;(17)程序的输出是-17- A、k=1, k=2, k=3 B、k=1, k=2, k=1 C、k=1, k=1, k=2 D、k=1,k=1,k=1(18)将第11行改为“k=1;”后,程序的输出是-18- A、k=1,k=1,k=1 B、k=1, k=1,
9、 k=2 C、k=1, k=2, k=1 D、 k=1, k=2, k=3(19) 将第11行改为“static int k=1(可继承);”后,程序的输出是-19- A、k=1,k=2,k=1 B、k=1, k=1, k=1 C、k=1, k=1, k=2 D、 k=1, k=2, k=3(20)将第11行改为“;”后,程序的输出是-20- A、k=1,k=1,k=2 B、k=1, k=2, k=3 C、k=1, k=1, k=1 D、 k=1, k=2, k=1试题6(每小题3分,共12分) CAAD#include stdio.hstruct stchar c;char s80;char
10、 *f(struct st t); 返回为指针 调用形式为结构体变量void main()int k;struct st a4=1, 对应char c123对应char s80,2,321,3,123,4,321;for(k=0;k4;k+)printf(%sn,f(ak);char *f(struct st t)int k=0;while(t.sk!=0)if(t.sk=t.c) return t.s+k;k+;return t.s;C(21)程序运行时,第1行输出是-21- / A、321 B、21 C、123 D、12A(22)程序运行时,第2行输出是-22- / A、21 B、12 C
11、、3 D、1A(23)程序运行时,第3行输出是-23- / A、3 B、123 C、1 D、321D(24)程序运行时,第4行输出是-24- / A、123 B、1 C、3 D、321试题7(28分)某用户为购房办理商业贷款,选择了按月等额本息还款法,在贷款本金(loan)和月利率(rate)一定的情况下,住房贷款的月还款额(money)取决于还款月数(month),计算公式如下。客户打算在530年的范围内选择还清贷款的年限,想得到一张“还款年限月还款额表”以供参考。Money=loan rate(1+rate)month/ (1+rate)month-1)(1) 定义函数cal_power(
12、x,n)计算x的n次幂(即xn),函数返回值类型是double。(2) 定义函数cal_money(local,rate,month)计算月还款额,函数返回值是double,要求调用函数cal_power(x,n)计算x的n次幂。(3) 定义函数main(),输入贷款本金loan(元)和月利率rate,输出“还款年限月还款额表”,还款年限的范围是530年,输出时分别精确到年和元。要求调用函数cal_money(local,rate,month)计算月还款额。2007年浙江省高等学校计算机等级考试答案选择题、1、B 2、A 3、D 4、 C 5、 A 6、C 7、 B 8、A 9、A 10、B
13、11、B、12、D、13、A 14、A 15、D 16、B 17、D 18、B、19、A 20、B 21、C 22、A 23、 A 24、D1)Double cal_power(double x, int n)double s=1;int i;for(I=1;I=n;I+)s=s*x;return(s);2) double cal_money(double local, double rate, int month)double money;money=local*rate*cal_power(1+rate,month)/ (cal_power(1+rate,month)-1);return(
14、money);3) main() double cal_power(double x, int n);double cal_money(double local, double rate, int month);double loan,rate,money;int a=5;printf(“请输入贷款本金和月利率”);scanf(“%f%f”,&loan,&rate);printf(“还款年限 月还款额”);for(month=49;a=30;month+)printf(“%d %5.0f “,a,cal_money( loan, rate, month);if(month%12=0)a+;专心-专注-专业