用C语言从键盘输入某班学生信息,包括学号,性别和成绩,以“0 N 0 ”为结束标志,统计并输出男,女生的人数及该班学生的平均成绩
时间: 2024-09-27 10:13:24 浏览: 44
在C语言中,你可以通过以下步骤实现这个功能:
1. 定义结构体来存储学生的信息:
```c
typedef struct {
int student_id; // 学号
char gender; // 性别,通常用'm'代表男,'f'代表女
float score; // 成绩
} Student;
```
2. 创建一个数组来存储学生数据,并初始化计数器和总分变量:
```c
Student students[100]; // 假设最多有100名学生
int male_count = 0, female_count = 0;
float total_score = 0;
int num_students = 0;
```
3. 使用while循环从键盘接收输入,直到用户输入"0 N 0"为止:
```c
do {
printf("请输入学生信息 (学号(m/f/s) 分数): ");
scanf("%d %c %f", &students[num_students].student_id, &students[num_students++].gender, &students[num_students-1].score);
} while(students[num_students-1].gender != '0' && students[num_students-1].gender != 'n' && students[num_students-1].gender != 's');
```
4. 在循环结束后,统计男、女生人数并计算平均成绩:
```c
if (students[num_students-1].gender == 'm') {
male_count++;
}
else if (students[num_students-1].gender == 'f') {
female_count++;
}
total_score += students[num_students-1].score;
// 计算平均成绩
if (num_students > 0) {
float average_score = total_score / num_students;
printf("男生人数: %d\n", male_count);
printf("女生人数: %d\n", female_count);
printf("平均成绩: %.2f\n", average_score);
} else {
printf("没有输入任何学生信息。\n");
}
```
阅读全文