编写一个输入函数input和一个打印函数print,输入和打印一组学生信息,每个学生信息包括学号num、name和3门课程成绩sore[3]。用主函数调用输入函数和输出函数输入和输出这些学生信息
时间: 2024-04-17 16:24:38 浏览: 91
你可以使用以下代码来实现输入函数input和打印函数print以及主函数main:
```c
#include <stdio.h>
#define MAX_STUDENTS 100
#define MAX_NAME_LENGTH 50
struct student {
long num;
char name[MAX_NAME_LENGTH];
float score[3];
};
int input(struct student *students, int n) {
int i;
for (i = 0; i < n; i++) {
printf("请输入第%d个学生的学号:", i+1);
scanf("%ld", &students[i].num);
printf("请输入第%d个学生的姓名:", i+1);
scanf("%s", students[i].name);
printf("请输入第%d个学生的3门课程成绩:", i+1);
scanf("%f %f %f", &students[i].score[0], &students[i].score[1], &students[i].score[2]);
}
return n;
}
void print(struct student *students, int n) {
int i, j;
for (i = 0; i < n; i++) {
printf("学生%d:\n", i+1);
printf("学号:%ld\n", students[i].num);
printf("姓名:%s\n", students[i].name);
printf("成绩:");
for (j = 0; j < 3; j++) {
printf("%.2f ", students[i].score[j]);
}
printf("\n");
}
}
int main() {
struct student students[MAX_STUDENTS];
int n;
printf("请输入学生的数量:");
scanf("%d", &n);
if (n > MAX_STUDENTS) {
printf("学生数量超过最大限制!\n");
return 1;
}
input(students, n);
print(students, n);
return 0;
}
```
这段代码首先定义了一个结构体`student`来表示学生信息,包括学号`num`、姓名`name`和3门课程成绩`sore[3]`。
然后定义了输入函数`input`,它接受一个指向`student`结构体数组的指针和学生数量作为参数,通过循环提示用户输入每个学生的信息,并将输入的值保存到相应的结构体中。
接下来定义了打印函数`print`,它接受一个指向`student`结构体数组的指针和学生数量作为参数,通过循环打印每个学生的信息。
最后在主函数`main`中,首先要求用户输入学生的数量,并检查是否超过最大限制。然后调用输入函数`input`来输入学生信息,再调用打印函数`print`来输出学生信息。
注意:这里假设学生数量不会超过最大限制,并且姓名长度不超过定义的最大长度。如果需要更严格的输入检查,可以在代码中进行相应的修改。
阅读全文