使用c++:编写一个程序,已有若干学生的数据,包括学号、姓名、成绩,要求输出这些学生 效据并计算出学生人数和平均成绩(要求将学生人数和总成绩用静态数据成绩表示)。
时间: 2024-06-09 14:11:44 浏览: 151
应用c++语言开发显示学生的各科成绩及平均成绩的程序
好的,以下是使用 C 语言编写的程序,可以实现您的需求:
```c
#include <stdio.h>
#define MAX_STUDENTS 50 // 最多学生数
#define MAX_NAME_LEN 20 // 姓名最大长度
struct Student {
int id; // 学号
char name[MAX_NAME_LEN]; // 姓名
float score; // 成绩
};
int main() {
struct Student students[MAX_STUDENTS];
int num_students = 0; // 学生人数
float total_score = 0; // 总成绩
// 输入学生数据
printf("请输入学生信息:\n");
while (num_students < MAX_STUDENTS) {
printf("请输入第 %d 个学生的学号、姓名和成绩(以空格分隔):", num_students + 1);
scanf("%d %s %f", &students[num_students].id, students[num_students].name, &students[num_students].score);
if (students[num_students].id == 0) {
break; // 学号为 0 表示输入结束
}
num_students++;
total_score += students[num_students].score;
}
// 输出学生数据
printf("学号\t姓名\t成绩\n");
for (int i = 0; i < num_students; i++) {
printf("%d\t%s\t%.2f\n", students[i].id, students[i].name, students[i].score);
}
// 计算平均成绩并输出
float average_score = total_score / num_students;
printf("学生人数:%d,平均成绩:%.2f\n", num_students, average_score);
return 0;
}
```
程序的主要思路是定义一个结构体 `Student` 来存储每个学生的学号、姓名和成绩,然后定义一个数组 `students` 来存储所有学生的数据。在输入学生数据时,使用一个循环来逐个输入学生数据,当输入的学号为 0 时,表示输入结束。在输入数据的同时,累加学生人数和总成绩。最后,使用一个循环来输出学生数据,并计算平均成绩并输出。
阅读全文