现有有n个学生的数据记录,每个记录包括学号、姓名、三科成绩。 编写一个函数input,用来输入一个学生的数据记录。 编写一个函数print,打印一个学生的数据记录。 在主函数调用这两个函数,读取n条记
时间: 2023-06-05 08:47:18 浏览: 172
录并打印出来。
首先,需要定义一个学生的数据结构,包括学号、姓名、三科成绩:
```
struct Student {
int id;
char name[20];
float score[3];
};
```
然后,编写输入函数input,可以通过指针参数来修改传入的学生对象:
```
void input(Student* student) {
printf("请输入学号:");
scanf("%d", &student->id);
printf("请输入姓名:");
scanf("%s", student->name);
printf("请输入三科成绩:");
scanf("%f%f%f", &student->score[], &student->score[1], &student->score[2]);
}
```
接着,编写打印函数print,可以通过常量指针参数来读取传入的学生对象:
```
void print(const Student* student) {
printf("学号:%d,姓名:%s,三科成绩:%.2f %.2f %.2f\n", student->id, student->name, student->score[], student->score[1], student->score[2]);
}
```
最后,在主函数中调用input和print函数,读取n条记录并打印出来:
```
int main() {
int n;
printf("请输入学生数量:");
scanf("%d", &n);
Student students[n];
for (int i = ; i < n; i++) {
printf("请输入第%d个学生的信息:\n", i + 1);
input(&students[i]);
}
printf("所有学生的信息如下:\n");
for (int i = ; i < n; i++) {
printf("%d. ", i + 1);
print(&students[i]);
}
return ;
}
```
阅读全文