有10个学生,每个学生的数据包括学号、姓名、3门课的成绩,从键盘输入10个学生的数据,要求打印出3门课都不及格的学生信息。C语言
时间: 2023-12-15 16:38:27 浏览: 107
以下是一个使用C语言编写的示例代码,它可以实现你的要求:
```c
#include <stdio.h>
struct Student {
int id;
char name[50];
float scores[3];
};
int main() {
struct Student students[10];
// 输入学生数据
for (int i = 0; i < 10; i++) {
printf("请输入第 %d 个学生的学号:", i + 1);
scanf("%d", &students[i].id);
printf("请输入第 %d 个学生的姓名:", i + 1);
scanf("%s", students[i].name);
printf("请输入第 %d 个学生的3门课成绩(用空格分隔):", i + 1);
for (int j = 0; j < 3; j++) {
scanf("%f", &students[i].scores[j]);
}
}
// 打印3门课都不及格的学生信息
printf("3门课都不及格的学生信息:\n");
for (int i = 0; i < 10; i++) {
int isFail = 1; // 是否不及格的标志
for (int j = 0; j < 3; j++) {
if (students[i].scores[j] >= 60) {
isFail = 0;
break;
}
}
if (isFail) {
printf("学号:%d, 姓名:%s\n", students[i].id, students[i].name);
}
}
return 0;
}
```
在这个示例中,我们首先定义了一个 `struct Student` 结构体,用于存储每个学生的数据。然后,在 `main` 函数中创建一个包含10个学生的数组 `students`。
接下来,使用循环从键盘输入每个学生的学号、姓名和3门课的成绩。输入完成后,再使用循环遍历所有学生,判断他们的成绩是否都不及格(小于60)。如果是,则打印该学生的学号和姓名。
希望这个示例代码能帮助到你!如果还有其他问题,请随时提问。