您好,欢迎访问三七文档
当前位置:首页 > 办公文档 > 其它办公文档 > 2007-2010年浙江省高校计算机等级考试二级C试题
12007年春浙江省高校计算机等级考试试卷(二级C)试题1(每小题3分,共12分)程序说明输入一个正整数,按照从高位到低位输出各位数字。运行示例:Enteraninteger:1902thedigitsare:1902#includestdio.hvoidmain(){intdigit,number,power,t;printf(Enteraninteger:);scanf(%d,&number);number=number0?-number:number;power=1;(1)while((2)){power*=10;t/=10;};printf(thedigitsare:);while((3)){digit=number/power;printf(%d,digit);(4)power/=10;}}【供选择的答案】(1)A、t=1;B、t=number;C、;D、number=1;答案:B(2)A、t=10B、power=100C、t!=0D、number!=0答案:A(3)A、power==0B、digit!=0C、number!=0D、power=1答案:D(4)A、number/=power;B、number%=10;C、number%=power;D、number/=10;答案:C试题2(第小题3分,共12分)【程序说明】连续输入一批学生的成绩,直到输入成绩的数量超过50或者输入成绩不是有效成绩(有效成绩为0-100),将输入的有效成绩存入数组mark中,在数组中查找并输出最高分。函数2getmax(array,n)在有n个元素的一维数组array中找出并返回最大值。运行示例:entermarks:90807765–1max=90#includestdio.h#defineMAXNUM50intgetmax((5)){intk,max;(6)for(k=1;kn;k++)if(maxarray[k])max=array[k];returnmax;}voidmain(){intk,x;intmark[MAXNUM];printf(entermarks:);k=0;scanf(%d,&x);while((7)){mark[k++]=x;scanf(%d,&x);}if(k0)printf(max=%d\n,getmax((8)));elseprintf(Nomarks!\n);}【供选择的答案】(5)A、intn;intarray[]B、voidC、int*arrayD、intarray[],intn答案:D(6)A、max=0;B、;C、max=array[0]D、max=array[n];答案:C(7)A、kMAXNUM||x=0&&x=100B、kMAXNUM&&x=0&&x=100C、kMAXNUM&&x=0||x=100D、kMAXNUM||x=0||x=100答案:B(8)A、mark,kB、markC、mark[]D、mark,n答案:A试题3(第小题3分,共12分)【程序说明】输入一个4行4列的矩阵,计算并输出矩阵除四边以外的所有元素之和sum1,再计算和输出该矩阵主对角线以上(含主结角线)的所有元素之和sum2,主对角线为从矩阵左上角到右下角的连线。3运行示例:enteranarray:12345678910111213141516sum1=34sum2=70#includestdio.hvoidmain(){intj,k,sum;inta[4][4]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16};printf(enteranarray:\n);for(j=0;j4;j++)for(k=0;k4;k++)scanf(%d,&a[j][k]);sum=0;for(j=0;j4;j++)for(k=0;k4;k++)if((9))sum+=a[j][k];printf(sum1=%d\n,sum);(10)for(j=0;j4;j++)for((11);(12);k++)sum+=a[j][k];printf(sum2=%d\n,sum);}【供选择的答案】(9)A、j!=3&&k!=3&&j!=0&&k!=0B、j!=3&&k!=3||j!=0&&k!=0C、j!=3||k!=3&&j!=0||k!=0D、j!=3&&k!=3||j!=0&&k!=0答案:A(10)A、sum1=0;B、sum=0;C、sum2=0;D、;答案:B(11)A、k=0B、k=jC、k=1D、k=3答案:B(12)A、k=jB、k0C、kjD、k4答案:D试题4(第小题3分,共12分)阅读下列程序并回答问题,在每小题提供的若干可选答案中挑选一个正确答案。[程序]4#includestdio.hvoidmain(){inti,j,k;scanf(%d,&i);j=k=0;if((i/10)0)//第7行j=i;if((i!=0)&&(j==0))k=i;elsek=-1;//第12行printf(j=%d,k=%d\n,j,k);}(13)程序运行时,输入5,输出(13)。A、j=0,k=5B、j=5,k=5C、j=0,k=-1D、j=5,k=-1答案:A(14)程序运行时,输入99,输出(14)。A、j=99,k=-1B、j=0,k=-1C、j=0,k=99D、j=99,k=99答案:A(15)将第12行改为k=-1;j=i/10;,输入99,输出(15)。A、j=99,k=-1B、j=9,k=99C、j=99,k=99D、j=9,k=-1答案:D(16)将第7行改为”if((i/10)0){“第12行改为”k=-1;}”输入5,输出(16)。A、j=0,k=-1B、j=0,k=0C、j=5,k=5D、j=5,k=-1答案:B试题5(第小题3分,共12分)阅读下列程序并回答问题,在每小题提供的若干可选答案中挑选一个正确答案。[程序]#includestdio.hintk=1;voidfun();voidmain(){intj;for(j=0;j2;j++)fun();printf(k=%d,k);}voidfun(){intk=1;//第11行printf(k=%d,,k);k++;}(17)程序的输出是(17)。A、k=1,k=2,k=3B、k=1,k=2,k=15C、k=1,k=1,k=2D、k=1,k=1,k=1答案:D(18)将第11行改为staticintk=1;程序的输出是(18)。A、k=1,k=1,k=1B、k=1,k=1,k=2C、k=1,k=2,k=1D、k=1,k=2,k=3答案:C(19)将第11行改为k=1;程序的输出是(19)。A、k=1,k=2,k=1B、k=1,k=1,k=1C、k=1,k=1,k=2D、k=1,k=2,k=3答案:C(20)将第11行改为;程序的输出是(20)。A、k=1,k=1,k=2B、k=1,k=2,k=3C、k=1,k=1,k=1D、k=1,k=2,k=1答案:B试题6(第小题3分,共12分)阅读下列程序并回答问题,在每小题提供的若干可选答案中挑选一个正确答案。[程序]#includestdio.hstructst{charc;char*s;};char*f(structstt){intk=0;while(t.s[k]!='\0'){if(t.s[k]==t.c)returnt.s+k;k++;}returnt.s;}voidmain(){intk;structsta[4]={{'1',123},{'2',321},{'3',123},{'4',321}};for(k=0;k4;k++)printf(%s\n,f(a[k]));}(21)程序运行时,第1行输出(21)。A、321B、21C、123D、12答案:C(22)程序运行时,第1行输出(22)。A、21B、12C、3D、1答案:A(23)程序运行时,第1行输出(23)。A、3B、123C、1D、321答案:A(24)、程序运行时,第1行输出(24)。A、123B、1C、3D、321答案:D6试题7(28分)某某客户购房办理商业贷款,选择了按月等额本息还款法,在贷款本金loan和月利率rate一定的情况下,住房贷款的月还款额money取决于还款月数month,计算公式如下:1)1()1(monthmonthrateraterateloanmoney(1)定义函数cal_power(x,n)计算x的n次幂(即xn),函数的返回值是double;(2)定义函数cal_money(loan,rate,month)计算月还款额,函数的返回值是double,要求调用函数cal_power计算x的n次幂;(3)定义函数main(),输入垡贷款本金loan和月利率rate,输出还款年限-月还款客表,还款年限是5~30,输出时分别精确到年和元。要求调用函数cal_money计算月还款额。程序:#includestdio.hdoublecal_power(doublex,intn){inti;doublepower=1;for(i=1;i=n;i++)power*=x;returnpower;}doublecal_money(doubleloan,doublerate,intmonth){doublemoney;money=loan*cal_power(1+rate,month)/(cal_power(1+rate,month)-1);returnmoney;}main(){doubleloan,rate,money;intmonth,i;printf(请输入贷款本金loan和月利率rate:);scanf(%lf,%lf,&loan,&rate);printf(还款年限月还款额\n);for(i=5;i=30;i++){money=cal_money(loan,rate,i*12);printf(%d%f\n,i,money/(i*12));}}2007年秋浙江省高校计算机等级考试试卷(二级C)试题1(每小题3分,共12分)程序说明输入2个整数lower和upper,输出一张华氏-摄氏转换表,华氏温度的取值范围7[lower,upper],每次增加2F,计算公式:c=5*(f-32)/9;式中c表示摄氏,f表示华氏。运行示例:Enterlower:30Enterupper:35fahrcelsius30-1.1320.0341.1程序:#includestdio.hmain(){intfahr,lower,upper;doublecelsius;printf(Enterlower:);scanf(%d,&lower);printf(Enterupper:);scanf(%d,&upper);printf(fahrcelsius\n);for(fahr=lower;(1);(2)){celsius=(3);printf(%d(4)\n,fahr,celsius);}}【供选择的答案】(1)A、fahr=upperB、fahrupperC、fahr=upperD、fahrupper答案:A(2)A、fahr++B、fahr=fahr-2C、fahr+2D、fahr=fahr+2答案:D(3)A、5*(fahr-32)/9B、(5.0/9.0)*(fahr-32)C、5/9*(fahr-32)D、5*fahr-32/9答案:B(4)A、%6dB、%6.2fC、%6.1fD、%6.0f答案:C试题2(每小题3分,共12分)程序说明输入2个正数a和n,求a+aa+aaa+……+a(n个a)这和,要求定义并调用函数fn(a,n),这它的功能是返回aa…a(n个a)。例如fn(3,2)的返回是33。运行示例:Entera:2Entern:3sum=246#includest
本文标题:2007-2010年浙江省高校计算机等级考试二级C试题
链接地址:https://www.777doc.com/doc-3078031 .html