设计一个结构体用于表示学生的信息,包括学号、姓名和年龄。编写一个程序,从键盘输入若干个学生的信息,存储到结构体数组中,并输出年龄最大的学生的学号和姓名。 输入: 从键盘输入一个整数 n(1<=n<=100),表示学生人数。 接下来输入 n 行,每行包含一个学生的信息,格式如下: 学号(12位) 姓名(不含空格且不超过20位) 年龄(整数) 数据之间用空格隔开。 输出: 输出年龄最大的学生的学号和姓名,用空格隔开
时间: 2024-02-13 17:07:31 浏览: 75
好的,这是一个简单的 C 语言程序,实现了你的要求:
```c
#include <stdio.h>
#include <string.h>
#define MAX_N 100
#define MAX_NAME_LEN 20
struct student {
char id[13];
char name[MAX_NAME_LEN];
int age;
};
int main() {
int n, i, max_age_index = 0;
struct student students[MAX_N];
// 读入学生信息
scanf("%d", &n);
for (i = 0; i < n; i++) {
scanf("%s %s %d", students[i].id, students[i].name, &students[i].age);
}
// 查找年龄最大的学生
for (i = 1; i < n; i++) {
if (students[i].age > students[max_age_index].age) {
max_age_index = i;
}
}
// 输出结果
printf("%s %s", students[max_age_index].id, students[max_age_index].name);
return 0;
}
```
这个程序中,我们定义了一个结构体 `student`,包含三个成员变量:学号 `id`,姓名 `name` 和年龄 `age`。然后我们定义了一个结构体数组 `students`,用来存储多个学生的信息。接着,我们从键盘读入学生信息,并按照题目要求,查找年龄最大的学生,并输出其学号和姓名。
注意,我们在定义结构体变量 `name` 时,使用了 `MAX_NAME_LEN` 这个宏定义,来限制姓名的长度不超过 20。同时,我们在读入学生信息时,使用了 `%s` 格式化字符串,来读入不含空格的字符串。
阅读全文
相关推荐
















