C语言有8名学生, 每个学生信息包括学号、姓名(不含空格)、成绩, 要求输出成绩最高者的信息 输入 8名学生的学号、姓名及成绩,每名学生信息各占一行,同一学生信息之间用空格间隔 输出 输出成绩最高者的学号、姓名及成绩,信息之间用空格间隔
时间: 2024-03-25 22:41:32 浏览: 81
C语言学生成绩信息管理系统【结构体+文本】
好的,以下是使用C语言实现的代码。请您将代码复制到您的C语言编译器中运行,并逐行输入8名学生的信息:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
struct student {
char id[11]; // 学号
char name[21]; // 姓名
int score; // 成绩
};
int main() {
struct student stu[8]; // 定义一个包含8个学生信息的结构体数组
int max_score = 0; // 初始化最高分为0
int max_index = 0; // 初始化最高分学生的下标为0
// 循环输入8名学生的信息,每输入一名学生的信息,就比较其成绩和最高分的大小
for (int i = 0; i < 8; i++) {
scanf("%s %s %d", stu[i].id, stu[i].name, &stu[i].score);
if (stu[i].score > max_score) {
max_score = stu[i].score;
max_index = i;
}
}
// 输出成绩最高者的信息
printf("%s %s %d\n", stu[max_index].id, stu[max_index].name, stu[max_index].score);
return 0;
}
```
注意,与Python程序不同,这里需要定义一个结构体来存储学生信息。在输入学生信息时,我们使用了`scanf`函数,并使用了格式化字符串`"%s %s %d"`来指定输入的格式:一个字符串、一个字符串和一个整数,它们之间用空格分隔。在输出成绩最高者的信息时,我们使用了`printf`函数,并使用了格式化字符串`"%s %s %d\n"`来指定输出的格式:一个字符串、一个字符串、一个整数,它们之间用空格分隔,最后加上一个换行符。
阅读全文