用c语言建立一个结构记录,包括学号姓名和成绩,输入一个小于十的整数,再输入n个学生信息,计算平均成绩
时间: 2024-03-01 11:51:39 浏览: 100
好的,我来给你解答。
首先,我们可以定义一个结构体来记录每个学生的信息,包括学号、姓名和成绩:
```c
struct Student {
int id;
char name[20];
float score;
};
```
接着,我们可以编写一个函数来读取n个学生的信息,并计算平均成绩:
```c
#include <stdio.h>
void average_score(int n) {
struct Student s[n];
float sum = 0;
for (int i = 0; i < n; i++) {
printf("请输入第%d个学生的信息(学号、姓名、成绩):\n", i+1);
scanf("%d %s %f", &s[i].id, s[i].name, &s[i].score);
sum += s[i].score;
}
float avg = sum / n;
printf("平均成绩为:%.2f\n", avg);
}
```
在主函数中,我们可以调用这个函数来实现输入和计算:
```c
int main() {
int n;
printf("请输入学生人数:\n");
scanf("%d", &n);
average_score(n);
return 0;
}
```
完整代码如下:
```c
#include <stdio.h>
struct Student {
int id;
char name[20];
float score;
};
void average_score(int n) {
struct Student s[n];
float sum = 0;
for (int i = 0; i < n; i++) {
printf("请输入第%d个学生的信息(学号、姓名、成绩):\n", i+1);
scanf("%d %s %f", &s[i].id, s[i].name, &s[i].score);
sum += s[i].score;
}
float avg = sum / n;
printf("平均成绩为:%.2f\n", avg);
}
int main() {
int n;
printf("请输入学生人数:\n");
scanf("%d", &n);
average_score(n);
return 0;
}
```
阅读全文