2007年春浙江省高等学校
计算机等级考试试卷(二级C)
试题1(每小题3分,共12分)
阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。
【程序说明】
输入一个正整数,按照从高位到低位的顺序输出各位数字。
运行示例:
Enter an integer: 1902
The digits are: 1 9 0 2
【程序】
#include <>
void main( )
{ int digit, number, power, t;
printf("Enter an integer:");
scanf("%d", &number);
number = number < 0 ? -number : number;
power = 1;
(1)
while( (2) ){
power *= 10;
t /= 10;
};
printf("The digits are:");
while( (3) ){
digit = number / power;
printf("%d " , digit);
(4)
power /= 10;
}
}
【供选择的答案】
(1) A、 t = 1; B、t = number;
C、; D、number = 1;
(2) A、t >= 10 B、power >= 100
C、t != 0 D、number != 0
(3) A、 power == 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分)
【程序说明】
连续输入一批学生的成绩,直到输入成绩的数量超过50个或者输入的成绩不是有效成绩(有效成绩为0~100),将输入的有效成绩存入数组mark中,在数组中查找并输出最高分。函数
getmax(array,n)在有n个元素的一维数组array中找出并返回最大值。
运行示例:
Enter marks: 90 80 77 65 -1
Max = 90
【程序】
#include <>
#define MAXNUM 50
int getmax( (5) )
{ int k, max;
(6)
for(k = 1; k < n; k++)
if(max < array[k]) max = array[k];
return max;
}
void main( )
{ int k, x;
int mark[MAXNUM];
printf("Enter marks:");
k = 0;
scanf("%d", &x);
while( (7) ){
mark[k++] = x;
scanf("%d", &x);
}
if(k > 0) printf("Max = %d\n", getmax( (8) ));
else printf("No marks!\n");
}
【供选择的答案】
(5) A、int n; int array[] B、void
C、int *array D、int array[],int n
(6) A、max = 0; B、;
C、max = array[0]; D、max = array[n];
(7) A、k < MAXNUM || x >=0 && x <= 100
B、k < MAXNUM && x >=0 && x <= 100
C、k > MAXNUM && x >=0 || x <= 100
D、k > MAXNUM || x >=0 || x <= 100
(8) A、mark, k B、mark
C、mark[] D、mark, n
试题3(每小题3分,共12分)
【程序说明】
输入一个4 行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 <>
void main( )
{ int j, k, sum;
in
2007C试卷以及答案 来自淘豆网www.taodocs.com转载请标明出处.