用C语言帮我做一下这道题:有若干个学生,每个学生含有学号,姓名,成绩,程序要求:编写一个inputdata函数用于输入N个学生的数据,编写一个outputdata函数用于输出N个学生的数据,编写一个avgdata函数用于计算且输出N个学生的平均成绩。
时间: 2023-06-11 20:10:15 浏览: 155
编制一个程序,要求输入5个学生的学号、2门课的成绩,然后输出每个学生的学号、2门课成绩、平均成绩。
3星 · 编辑精心推荐
好的,下面是代码实现:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_SIZE 50 //最多可以存储50个学生的信息
//定义学生结构体
typedef struct student {
char id[10]; //学号
char name[20]; //姓名
float score; //成绩
} Student;
//输入学生信息
void inputdata(Student stu[], int n) {
int i;
for (i = 0; i < n; i++) {
printf("请输入第%d个学生的学号、姓名、成绩:", i + 1);
scanf("%s%s%f", stu[i].id, stu[i].name, &stu[i].score);
}
}
//输出学生信息
void outputdata(Student stu[], int n) {
int i;
printf("学号\t姓名\t成绩\n");
for (i = 0; i < n; i++) {
printf("%s\t%s\t%.2f\n", stu[i].id, stu[i].name, stu[i].score);
}
}
//计算平均成绩并输出
void avgdata(Student stu[], int n) {
int i;
float sum = 0.0;
for (i = 0; i < n; i++) {
sum += stu[i].score;
}
printf("平均成绩为:%.2f\n", sum / n);
}
int main() {
Student stu[MAX_SIZE];
int n;
printf("请输入学生人数:");
scanf("%d", &n);
inputdata(stu, n);
outputdata(stu, n);
avgdata(stu, n);
return 0;
}
```
使用方法:将上面的代码复制到 C 语言编译器中即可运行,按照提示输入学生信息即可。
阅读全文