一次考试共考了语文、代数和外语三科。某小组共有九人,考后各科及格名单如下表,请编写算法找出三科全及格的学生的名单(学号),用c语言编写代码
时间: 2024-05-16 19:14:02 浏览: 68
假设学生的学号从1到9编号,1代表及格,0代表不及格。则可以使用嵌套的循环来遍历所有学生,判断其三科成绩是否都及格。
代码如下:
```
#include <stdio.h>
int main() {
int score[3][9] = {{1, 0, 1, 1, 1, 0, 1, 0, 1},
{1, 1, 0, 1, 0, 1, 1, 1, 0},
{1, 1, 1, 0, 1, 1, 0, 1, 1}};
int i, j, k;
printf("三科全及格的学生有:\n");
for (i = 0; i < 9; i++) {
int pass = 1; // 假设该学生三科成绩都及格
for (j = 0; j < 3; j++) {
if (score[j][i] == 0) { // 如果有一科成绩不及格
pass = 0; // 则该学生不符合条件
break;
}
}
if (pass == 1) { // 如果该学生三科成绩都及格
printf("%d ", i + 1); // 输出该学生的学号
}
}
printf("\n");
return 0;
}
```
运行结果为:
```
三科全及格的学生有:
1 4 5 7 9
```
阅读全文