return max; }
void main() { int k,x;
int mark[MAXNUM]; printf(\ k=0;
scanf(\ while( (7) ) ; {mark[k++]=x; scanf(\ }
if(k>0) printf(\ (8) )); else printf(\}
【供选择的答案】 (5)A、int n;int array[] B、void C、int *array D、int array[],int n 答案:D (6)A、max=0; B、; C、max=array[0] D、max=array[n]; 答案:C (7)A、k
输入一个4行4列的矩阵,计算并输出矩阵除四边以外的所有元素之和sum1,再计算和输出该矩阵主对角线以上(含主结角线)的所有元素之和sum2,主对角线为从矩阵左上角到右下角的连线。 运行示例: enter an array: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 sum1=34 sum2=70
#include
int a[4][4]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16}; printf(\
for(j=0;j<4;j++) for(k=0;k<4;k++)
// scanf(\ sum=0;
for(j=0;j<4;j++)
for(k=0;k<4;k++)
if( (9) ) sum+=a[j][k];
printf(\ (10)
for(j=0;j<4;j++)
for( (11) ; (12) ;k++)
sum+=a[j][k];
printf(\}
【供选择的答案】
(9)A、j!=3&&k!=3&&j!=0&&k!=0 B、j!=3&&k!=3||j!=0&&k!=0 C、j!=3||k!=3&&j!=0||k!=0 D、j!=3&&k!=3||j!=0&&k!=0 答案:A (10)A、sum1=0; B、sum=0; C、sum2=0; D、; 答案:B (11)A、k=0 B、k=j C、k=1 D、k=3 答案:B (12)A、k<=j B、k>0 C、k>j D、k<4 答案:D
试题4(第小题3分,共12分)
阅读下列程序并回答问题,在每小题提供的若干可选答案中挑选一个正确答案。 [程序]
#include
scanf(\j=k=0;
if((i/10)>0) //第7行
j=i;
if((i!=0)&&(j==0)) k=i; else
k=-1;//第12行
printf(\
}
(13)程序运行时,输入5,输出 (13) 。 A、j=0,k=5 B、j=5,k=5 C、j=0,k=-1 D、j=5,k=-1 答案:A (14)程序运行时,输入99,输出 (14) 。 A、j=99,k=-1 B、j=0,k=-1 C、j=0,k=99 D、j=99,k=99 答案:A (15)将第12行改为k=-1;j=i/10;,输入99,输出 (15) 。 A、j=99,k=-1 B、j=9,k=99 C、j=99,k=99 D、j=9,k=-1 答案:D
(16)将第7行改为”if((i/10)>0){“第12行改为”k=-1;}”输入5,输出 (16) 。 A、j=0,k=-1 B、j=0,k=0 C、j=5,k=5 D、j=5,k=-1 答案:B 试题5(第小题3分,共12分)
阅读下列程序并回答问题,在每小题提供的若干可选答案中挑选一个正确答案。 [程序]
#include
for(j=0;j<2;j++) fun();
printf(\}
void fun()
{int k=1; //第11行 printf(\ 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 答案:D (18)将第11行改为static int k=1; 程序的输出是 (18) 。 A、k=1,k=1,k=1 B、k=1,k=1,k=2 C、k=1,k=2,k=1 D、k=1,k=2,k=3 答案:C (19) 将第11行改为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 答案:C (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 答案:B 试题6(第小题3分,共12分)
阅读下列程序并回答问题,在每小题提供的若干可选答案中挑选一个正确答案。
[程序]
#include
{char c;char *s; };
char *f(struct st t) { int k=0;
while(t.s[k]!='\\0')
{if(t.s[k]==t.c)return t.s+k; k++; }
return t.s; }
void main() {int k;
struct st a[4]={{'1',\ for(k=0;k<4;k++)
printf(\}
(21)程序运行时,第1行输出 (21) 。 A、321 B、21 C、123 D、12 答案:C (22)程序运行时,第1行输出 (22) 。 A、21 B、12 C、3 D、1 答案:A (23)程序运行时,第1行输出 (23) 。 A、3 B、123 C、1 D、321 答案:A (24)、程序运行时,第1行输出 (24) 。 A、123 B、1 C、3 D、321 答案:D 试题7(28分)
某某客户购房办理商业贷款,选择了按月等额本息还款法,在贷款本金loan和月利率rate一定的情况下,住房贷款的月还款额money取决于还款月数month,计算公式如下:
rate(1?rate)month money?loan?month(1?rate)?1(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计算月还款额。 程序:#include
double cal_power(float x,int n) {
int i;
float power=1; for(i=1;i<=n;i++) power*=x; return power; }
double cal_money (double loan,double rate,int month) {double money;
money=loan*cal_power(1+rate,month)/(cal_power(1+rate,month)-1); return money; }
main()
{float loan,rate,money; int month,i;
printf(\请输入贷款本金loan和月利率rate:\ scanf(\
printf(\还款年限 月还款额\\n\ for(i=5;i<=10;i++)
{money= cal_money(loan ,rate,i*12);
printf(\ %f\\n\
} }
2007年秋浙江省高校 计算机等级考试试卷(二级C)
试题1(每小题3分,共12分)
程序说明输入2个整数lower和upper,输出一张华氏-摄氏转换表,华氏温度的取值范围[lower,upper],每次增加2F,计算公式:c=5*(f-32)/9;式中c表示摄氏,f表示华氏。
运行示例: Enter lower:30 Enter upper:35 fahr celsius