C语言从键盘输入一个班(全班最多不超过30人)学生某门课的成绩,当输入成绩为负值时,输入结束,统计不及格人数并打印不及格学生名单;
时间: 2024-04-26 22:25:46 浏览: 167
好的,这是一个简单的C语言程序,可以实现你的需求:
```c
#include <stdio.h>
#define MAX_SIZE 30
int main() {
int scores[MAX_SIZE];
char names[MAX_SIZE][20];
int i = 0, fail_count = 0;
printf("请输入学生姓名和成绩,以负数结束输入:\n");
while (i < MAX_SIZE) {
printf("请输入第 %d 个学生的姓名和成绩:", i + 1);
scanf("%s %d", names[i], &scores[i]);
if (scores[i] < 0) {
break;
}
if (scores[i] < 60) {
fail_count++;
}
i++;
}
if (fail_count == 0) {
printf("恭喜,所有学生都通过了!\n");
} else {
printf("不及格学生名单如下:\n");
for (int j = 0; j < i; j++) {
if (scores[j] < 60) {
printf("%s\n", names[j]);
}
}
printf("共有 %d 名学生不及格。\n", fail_count);
}
return 0;
}
```
这个程序使用了两个数组,一个用来存储学生的成绩,另一个用来存储学生的姓名。当输入成绩为负数时,程序会停止输入并开始统计不及格人数。最后,如果有不及格的学生,程序会打印出他们的姓名,并显示不及格人数;否则,程序会输出所有学生都通过了的信息。
阅读全文