c语言输入学生的成绩学号 输出成绩学号 平均成绩
时间: 2024-10-19 19:16:21 浏览: 53
在C语言中,你可以使用循环结构、数组或者结构体来实现这个功能。这里是一个简单的示例,假设你有一个包含学生信息的结构体,如`student`,包含`score`和`id`两个成员:
```c
#include <stdio.h>
// 定义学生结构体
typedef struct {
int id; // 学号
float score; // 成绩
} Student;
void input_and_average(Student students[], int n) {
int i;
printf("请输入学生信息 (学号 空格 成绩),输入0结束输入:\n");
for (i = 0; i < n; ++i) {
if (scanf("%d %f", &students[i].id, &students[i].score) == EOF) break; // 输入结束标志
printf("已输入学号:%d,成绩:%f\n", students[i].id, students[i].score);
}
// 计算平均成绩
float sum = 0.0;
for (i = 0; i < n && students[i].score != 0; ++i)
sum += students[i].score;
float avg = (sum / (float)n);
printf("所有学生的平均成绩为:%f\n", avg);
}
int main() {
const int MAX_STUDENTS = 10;
Student students[MAX_STUDENTS]; // 存储学生信息的数组
int num_students = 0;
// 获取用户输入并更新数组
input_and_average(students, num_students);
return 0;
}
```
在这个程序中,首先定义了一个`input_and_average`函数,用于读取用户的输入,并计算平均成绩。然后在`main`函数中调用该函数。
运行程序时,按照提示依次输入每个学生的学号和成绩,直到输入0为止。最后会显示所有输入的学生的平均成绩。
阅读全文