有5个学生,每个学生有四门课程,将有不及格课程的学生的所有成绩输出(注意不要重复输出一个学生的成绩)。
怎么确保不重复输出一个学生的成绩?为什么后面还有四行零?
有5个学生,每个学生有四门课程,将有不及格课程的学生的所有成绩输出(注意不要重复输出一个学生的成绩)。
因为你定义的二维数组是5行四列,但设置默认值的只有4个学生的成绩即4行,第5行没有设置,所以第5行的默认值被设置为0,都小于60,所以多打印了4次,再补上一个学生成绩即可,测试代码如下:
#include <stdio.h>
#include <string.h>
int main(void){
int a[5][4] = {{80,43,100,90},{56,76,90,90},{59,80,70,99},{60,60,67,68},{60,70,80,90}},i,j,k;
// printf("所有学生的成绩为:\n");
// for(i=0;i<5;i++){
// for(j=0;j<4;j++){
// printf("%4d",a[i][j]);
// }
// printf("\n");
// }
// printf("\n");
for(i=0;i<5;i++){
for(j=0;j<4;j++){
if(a[i][j]<60){
for(k=0;k<4;k++){
printf("%4d",a[i][k]);
}
putchar('\n');
break;
}
}
}
}