1单选(1分)
输入某班学生某门课的成绩(最多不超过40人,具体人数由用户键盘输入),用函数编程统计不及格人数。按要求在空白处填写适当的表达式或语句,使程序完整并符合题目要求。
#include <stdio.h>
#define N 40
intGetFailNum(int score[], int n);
int main()
{ int i, n, fail, score[N];
printf("How many students?");
scanf("%d", &n);
for (i=0; i<n; i++)
{ scanf("%d", _________);
}
fail = _____________;
printf("Fail students = %d\n", fail);
return 0; } /* 函数功能:统计不及格人数 */ int GetFailNum(int score[], int n)
{ int i, count = 0;
for (i=0; i<n; i++)
{ if (_________) count++;
}
return count;
}
-
A.第11行: score[i]
第13行: GetFailNum(n,score)
第23行: score[i] < 60
-
B.第11行: &score[i]
第13行: GetFailNum(score[i], n)
第23行: score[i] >= 60
-
C.第11行: &score[i]
第13行: GetFailNum(score, n)
第23行: score[i] < 60
-
D.第11行: score[i]
第13行: GetFailNum(score, n)
第23行: score[i] <= 60
答案:C
2单选(1分)
输入n×n阶矩阵,用函数编程计算并输出其两条对角线上的各元素之和。按要求在空白处填写适当的表达式或语句,使程序完整并符合题目要求。
#include <stdio.h>
#define N 10
void InputMatrix(int a[N][N], int n);
int AddDiagonal(int a[N][N], int n);
int main()
{ int a[N][N], n, sum; printf("Input n:");
scanf("%d", &n);
InputMatrix(a, n);
sum = AddDiagonal(a, n);
printf("sum = %d\n", sum);
return 0; } /* 函数功能: 输入n×n矩阵的元素值,存于数组a中 */ void InputMatrix(___________, int n)
{ int i, j; printf("Input %d*%d matrix:\n", n, n);
for (i=0; i<n; i++)
{ for (j=0; j<n; j++)
{ scanf("%d",___________);
}
}
} /* 函数功能: 计算n×n矩阵中两条对角线上的元素之和 */ int AddDiagonal(int a[N][N], int n)
{ int i, j, sum = 0; for (i=0; i<n; i++)
{ for (j=0; j<n; j++)
{ if (________________) sum = sum + a[i][j];
}
}
return ____________;
}
-
A.第17行: int a[N][N]
第25行: a[i][j]
第38行: i==j || i+j==n-1
第42行: a[N][N]
-
B.第17行: int a[N][N]
第25行: &a[i][j]
第38行: i==j && i+j==n-1
第42行: a[i][j]
-
C.第17行: int a[N][N]
第25行: &a[i][j]
第38行: i==j || i+j==n-1
第42行: sum
-
D.第17行: int a[][]
第25行: &a[i][j]
第38行: i==j && i+j==n-1
第42行: sum
答案:C
3单选(1分)
下面代码的功能是将数组a中存放的5个整型数据逆序后在屏幕上输出,具体输出内容如下:
5 4 3 2 1
按要求在空白处填写适当的表达式或语句,使程序完整并符合题目要求。
#include <stdio.h>
void Fun(int b[],int i,int j)
{ int t;
if(i<j)
{ _________;
b[i]=b[j];
_________;
Fun(b,i+1,j-1);
}
}
int main( )
{ int i,a[5]={1,2,3,4,5};
_________;
for(i=0;i<5;i++) printf("%d\t",a[i]);
printf("\n");
return 0;
}
-
A.第7行: t=b[i]
第10行: b[i]=t
第19行: Fun(a,1,5)
-
B.第7行: t=b[i]
第10行: b[j]=t
第19行: Fun(a,0,4)
-
C.第7行: t=b[i]
第10行: b[i]=t
第19行: Fun(a,0,5)
-
D.第7行: t=b[j]
第10行: b[j]=t
第19行: Fun(a,1,4)
-
答案:B
4单选(1分)
以下程序中函数Sort的功能是对a所指数组中的数据进行由大到小的排序,按要求在空白处填写适当的表达式或语句,使程序完整并符合题目要求。
#include <stdio.h>
void Sort(int a[],int n)
{ int i,j,t;
for(i=0;_________;i++)
for(________;j<n;j++)
if(a[i]<a[j])
{ t=a[i];
__________;
a[j]=t;
}
}
int main()
{ int aa[10]={1,2,30,4,5,6,7,8,9,10},i;
__________;
for(i=0;i<10;i++)
printf("%d,",aa[i]);
printf("\n");
return 0;
}
-
A.第5行: i<=n
j第6行: =i
第10行: a[i]=a[j]
第18行: Sort(10,aa)
-
B.第5行: i<n
第6行: j=i+1
第10行: a[j]=a[i]
第18行: Sort(aa,10)
-
C.第5行: i<n-1
第6行: j=i
第10行: a[i]=a[j]
第18行: Sort(aa[],10)
-
D.第5行: i<n-1
第6行: j=i+1
第10行: a[i]=a[j]
第18行: Sort(aa,10)
-
答案:D
5单选(1分)
某矩阵m存储的数据如下:
1 4 7
2 5 8
3 6 9
现将该矩阵最后一行的所有数据输出到屏幕,按要求在空白处填写适当的表达式或语句,使程序完整并符合题目要求。
#include <stdio.h>
int main()
{ int m[][3]={1,4,7,2,5,8,3,6,9};
int i,j,k=____;
for(i=0;_______;i++)
{ printf("%d",_________);
}
return 0;
}
-
A.第5行: 2
第7行: i<3
第9行: m[k][i]
-
B.第5行: 3
第7行: i<=3
第9行: m[k][i]
-
C.第5行: 2
第7行: i<2
第9行: m[i][k]
-
D.第5行: 3
第7行: i<3
第9行: m[i][k]
-
答案:A