编写一个程序,建立N名学生的信息表,每个学生的数据包括学号、姓名及一门课的成绩。要求通过键盘输入这N名学生的信息,并按照每一行显示一名学生信息的格式,将信息显示出来。
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#define N 3 // 假设我们只处理3个学生的信息
struct Student { // 定义结构体
char id[20]; // 学号
char name[20]; // 姓名
float score; // 成绩
} st[10]; // 定义全局学生数组
// 输入学生信息
void inputStudent(struct Student *s) {
printf("请输入%d个学生的信息(学号、姓名、成绩):\n", N);
for (int i = 0; i < N; i++) {
scanf("%19s %19s %f", s[i].id, s[i].name, &s[i].score); // 限制长度
}
}
// 打印学生信息
void outputStudent(struct Student *s) {
printf("%d位学生信息如下:\n", N);
for (int i = 0; i < N; i++) {
printf("学号:%s, 姓名:%s, 成绩:%.2f\n", s[i].id, s[i].name, s[i].score);
}
}
int main() {
inputStudent(st);
outputStudent(st);
return 0;
}
在这个程序中,我们首先定义了一个名为 Student
的结构体,它包含学号、姓名和成绩。然后,我们创建了两个函数:inputStudent
用于输入学生信息,outputStudent
用于打印学生信息。然后调用这两个函数来分别输入和输出学生信息。
用户在运行程序时,会首先看到提示输入N名学生的信息,然后逐个输入每个学生的学号、姓名和成绩。输入完成后,程序会打印出所有学生的信息。