有若干个学生,每个学生含有学号,姓名,成绩,程序要求:用C++,编写一个inputdata函数用于输入N个学生的数据,编写一个outputdata函数用于输出N个学生的数据,编写一个avgdata函数用于计算且输出N个学生的平均成绩。
时间: 2023-06-12 08:04:54 浏览: 100
以下是示例代码,实现了输入数据,输出数据和计算平均成绩的功能:
```c
#include <stdio.h>
#define MAX_STUDENTS 100 // 最大学生数
struct student {
int id; // 学号
char name[20]; // 姓名
float score; // 成绩
};
void inputdata(struct student *students, int n) {
int i;
for (i = 0; i < n; i++) {
printf("请输入第%d个学生的信息:\n", i+1);
printf("学号:");
scanf("%d", &students[i].id);
printf("姓名:");
scanf("%s", students[i].name);
printf("成绩:");
scanf("%f", &students[i].score);
}
}
void outputdata(struct student *students, int n) {
int i;
for (i = 0; i < n; i++) {
printf("学号:%d,姓名:%s,成绩:%.2f\n", students[i].id, students[i].name, students[i].score);
}
}
void avgdata(struct student *students, int n) {
int i;
float sum = 0;
for (i = 0; i < n; i++) {
sum += students[i].score;
}
printf("平均成绩为:%.2f\n", sum / n);
}
int main() {
struct student students[MAX_STUDENTS];
int n;
printf("请输入学生数:");
scanf("%d", &n);
inputdata(students, n);
outputdata(students, n);
avgdata(students, n);
return 0;
}
```
该程序定义了一个结构体`student`,包含学号、姓名和成绩三个字段。`inputdata`函数用于输入学生数据,通过指针参数将数据保存到`students`数组中;`outputdata`函数用于输出学生数据,按照学号、姓名、成绩的顺序输出;`avgdata`函数用于计算并输出学生平均成绩。在`main`函数中,先输入学生数,然后调用三个函数完成输入、输出和计算平均成绩的任务。
阅读全文