设计一个结构体用于表示学生的信息,包括学号、姓名和年龄。编写一个程序,从键盘输入若干个学生的信息,存储到结构体 数组中,并输出年龄最大的学生的学号和姓名。 输入:从键盘输入一个整数 门(1<=n<=100),表示学生人数。 接下来输入 n 行,每行包含一个学生的信息,格式如下: 学号(12位)姓名(不含空格且不超过20位)年龄(整数) 数据之间用空格隔开。 输出: 输出年龄最大的学生的学号和姓名,用空格隔开 C语言
时间: 2024-02-13 11:07:33 浏览: 104
好的,根据您的需求,我为您编写了一份对应的 C 语言代码。请注意,以下代码中的 `MAX_STUDENT_NUM` 宏定义表示允许输入的最大学生数,您可以根据实际情况进行修改。
```c
#include <stdio.h>
#include <string.h>
#define MAX_STUDENT_NUM 100
// 定义学生信息结构体
struct Student {
char id[13];
char name[21];
int age;
};
int main() {
int n;
struct Student stu[MAX_STUDENT_NUM];
// 从键盘输入学生人数
printf("请输入学生人数:");
scanf("%d", &n);
// 从键盘输入学生信息
for (int i = 0; i < n; i++) {
printf("请输入第 %d 个学生的信息(学号 姓名 年龄):", i + 1);
scanf("%s%s%d", stu[i].id, stu[i].name, &stu[i].age);
}
// 查找年龄最大的学生
int max_age = 0, max_age_index = -1;
for (int i = 0; i < n; i++) {
if (stu[i].age > max_age) {
max_age = stu[i].age;
max_age_index = i;
}
}
// 输出年龄最大的学生的学号和姓名
if (max_age_index >= 0) {
printf("年龄最大的学生的学号和姓名为:%s %s\n", stu[max_age_index].id, stu[max_age_index].name);
}
return 0;
}
```
上述代码中,我们定义了一个结构体 `Student` 表示学生信息,包括学号、姓名和年龄三个属性。然后从键盘输入学生人数和学生信息,并根据年龄查找年龄最大的学生,最后输出该学生的学号和姓名。
希望这份代码能够帮助到您,如有任何问题或需求,请随时提出。
阅读全文