```c
include include struct Student { char name; char id; int score; }; int main() { int n; printf("请输入学生人数: "); scanf("%d", &n); struct Student students; for (int i = 0; i < n; i++) { printf("请输入第%d个学生的姓名: ", i + 1); scanf("%s", students[i].name); printf("请输入第%d个学生的学号: ", i + 1); scanf("%s", students[i].id); printf("请输入第%d个学生的成绩: ", i + 1); scanf("%d", &students[i].score); } int maxScore = students.score; int minScore = students.score; int maxIndex = 0; int minIndex = 0; for (int i = 1; i < n; i++) { if (students[i].score > maxScore) { maxScore = students[i].score; maxIndex = i; } if (students[i].score < minScore) { minScore = students[i].score; minIndex = i; } } printf("成绩最高的学生是: %s 学号: %s 成绩: %d\n", students[maxIndex].name, students[maxIndex].id, maxScore); printf("成绩最低的学生是: %s 学号: %s 成绩: %d\n", students[minIndex].name, students[minIndex].id, minScore); return 0; } ``` 程序说明: 定义了一个结构体 `Student`,用于存储学生的姓名、学号和成绩。 程序首先读取学生人数 `n`,然后循环读取每个学生的姓名、学号和成绩,并存储在结构体数组 `students` 中。 遍历结构体数组,找到成绩最高和最低的学生,并记录其索引。 输出成绩最高和最低的学生信息。 使用方法: 1. 编译并运行程序。 2. 按照提示输入学生人数。 3. 依次输入每个学生的姓名、学号和成绩。 4. 程序将输出成绩最高和最低的学生信息。 这个程序是一个简单的示例,实际应用中可能需要根据具体需求进行扩展和优化。结构体定义:
输入部分:
成绩统计:
输出部分: