c语言 从键盘输入某班级学生信息包括学号、性别、成绩,以"0 N 0"作为结束标志,并输出男女生人数及该班学生的平均成绩
时间: 2024-09-22 13:07:43 浏览: 55
在C语言中,你可以通过`scanf`函数从键盘获取用户输入,然后利用数组或结构体存储每个学生的数据。下面是一个简单的示例,展示如何实现这个功能:
```c
#include <stdio.h>
// 定义一个结构体表示学生信息
typedef struct {
int student_id;
char gender; // 'M' for male, 'F' for female
float score;
} Student;
int main() {
Student students[100]; // 假设最多有100名学生
int count = 0, total_score = 0;
int input;
while (1) {
printf("请输入学生的学号(0 结束): ");
scanf("%d", &students[count].student_id);
if (students[count].student_id == 0)
break; // 当输入0时,退出循环
printf("请输入学生的性别(M/F): ");
scanf(" %c", &students[count].gender); // 确保读取空格,避免直接按回车导致下一行读入
printf("请输入学生的成绩: ");
scanf("%f", &students[count].score);
count++; // 记录学生数量
total_score += students[count - 1].score;
}
// 计算男女生人数
int males = 0, females = 0;
for (int i = 0; i < count; i++) {
if (students[i].gender == 'M')
males++;
else if (students[i].gender == 'F')
females++;
}
// 输出结果
float average_score = (total_score / count);
printf("\n男生人数: %d\n", males);
printf("女生人数: %d\n", females);
printf("班级平均成绩: %.2f\n", average_score);
return 0;
}
```
阅读全文