C语言设计一个结构体用于表示学生的信息,包括学号、姓名和年龄。编写一个程序,从键盘输入若干个学生的信息,存储到结构体数组中,并 输出年龄最大的学生的学号和姓名。
时间: 2024-02-13 12:07:28 浏览: 86
C语言:定义一个包含学生信息(学号,姓名,成绩)的顺序表和链表.zip
5星 · 资源好评率100%
好的,根据您的要求,我来为您设计一个结构体表示学生的信息,并编写一个程序实现相关功能。
以下是C语言代码实现:
```c
#include <stdio.h>
#include <string.h>
#define MAX_NUM 100 // 最多输入的学生数量
struct Student {
char id[20]; // 学号
char name[20]; // 姓名
int age; // 年龄
};
int main() {
int n; // 实际输入的学生数量
struct Student stu[MAX_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_idx = 0; // 年龄最大的学生在结构体数组中的索引
for (int i = 1; i < n; i++) {
if (stu[i].age > stu[max_age_idx].age) {
max_age_idx = i;
}
}
// 输出年龄最大的学生的学号和姓名
printf("年龄最大的学生是:%s(%s),年龄为%d岁。\n", stu[max_age_idx].name, stu[max_age_idx].id, stu[max_age_idx].age);
return 0;
}
```
运行程序后,按照提示输入学生信息,程序会自动计算出年龄最大的学生的学号和姓名,并输出到屏幕上。
注意:上述代码中使用了char数组表示学号和姓名,需要注意char数组的长度。如果您的学号和姓名长度超过了20,需要调整数组长度。
阅读全文