在第一个程序的基础上,编写一个函数input,用来输入5个学生的数据记录。
程序一:(编写一个函数print,打印一个学生的成绩数组,该数组中有5个学生的数据记录,每个记录包括num,name,score[3],用主函数输入这些记录,用print函数输出这些记录。)
#include <stdio.h>
typedef struct {
int num;
char name[20];
float score[3];
} Student;
void print(Student students[], int n) {
for (int i = 0; i < n; i++) {
printf("Num: %d, Name: %s, Scores: %.2f, %.2f, %.2f\n",
students[i].num, students[i].name,
students[i].score[0], students[i].score[1], students[i].score[2]);
}
}
int main() {
Student students[5] = {
{1, "Alice", {85.0, 90.0, 92.0}},
{2, "Bob", {78.0, 82.0, 88.0}},
{3, "Charlie", {95.0, 94.0, 99.0}},
{4, "David", {68.0, 72.0, 70.0}},
{5, "Eve", {88.0, 90.0, 92.0}}
};
print(students, 5);
return 0;
}
程序二:
#include <stdio.h>
typedef struct {
int num;
char name[20];
float score[3];
} Student;
void input(Student students[], int n) {
for (int i = 0; i < n; i++) {
printf("Enter num, name, scores for student %d: ", i + 1);
scanf("%d %s %f %f %f", &students[i].num, students[i].name,
&students[i].score[0], &students[i].score[1], &students[i].score[2]);
}
}
void print(Student students[], int n) {
for (int i = 0; i < n; i++) {
printf("Num: %d, Name: %s, Scores: %.2f, %.2f, %.2f\n",
students[i].num, students[i].name,
students[i].score[0], students[i].score[1], students[i].score[2]);
}
}
int main() {
Student students[5];
input(students, 5);
print(students, 5);
return 0;
}