定义一个结构体类型person,包括姓名和年龄两个成员。在主函数main中,定义一个person数组,从键盘上输入人员的个数n和每个人的姓名、年龄。找出其中年龄最大的一个人,并输出该人的姓名和年龄。
时间: 2023-05-31 16:18:51 浏览: 441
### 回答1:
定义一个结构体类型person,包括姓名和年龄两个成员。在主函数main中,定义一个person数组,从键盘上输入人员的个数n和每个人的姓名、年龄。找出其中年龄最大的一个人,并输出该人的姓名和年龄。
代码如下:
#include <stdio.h>
#include <string.h>
#define MAX_PERSONS 100
typedef struct {
char name[20];
int age;
} person;
int main() {
int n;
person persons[MAX_PERSONS];
int max_age = 0;
int max_index = 0;
printf("请输入人员个数:");
scanf("%d", &n);
for (int i = 0; i < n; i++) {
printf("请输入第%d个人的姓名和年龄:", i + 1);
scanf("%s%d", persons[i].name, &persons[i].age);
if (persons[i].age > max_age) {
max_age = persons[i].age;
max_index = i;
}
}
printf("年龄最大的人是%s,年龄为%d岁。\n", persons[max_index].name, persons[max_index].age);
return 0;
}
### 回答2:
首先,我们需要定义一个结构体类型person,包含成员变量姓名和年龄:
```
struct person {
char name[20];
int age;
};
```
然后,在主函数main中,我们需要定义一个person数组,以及从键盘上输入人员的个数n和每个人的姓名、年龄:
```
int main() {
int n;
printf("请输入人员个数:");
scanf("%d", &n);
struct person p[n];
for(int i = 0; i < n; i++) {
printf("请输入第 %d 个人的姓名和年龄(以空格隔开):", i+1);
scanf("%s %d", p[i].name, &p[i].age);
}
```
接下来,我们需要找出年龄最大的一个人,并输出该人的姓名和年龄。方法是使用一个循环遍历整个person数组,同时定义一个变量来保存年龄最大的人的索引。
```
int max_age = 0;
int max_index = 0;
for(int i = 0; i < n; i++) {
if(p[i].age > max_age) {
max_age = p[i].age;
max_index = i;
}
}
printf("年龄最大的人是:%s,年龄为:%d\n", p[max_index].name, p[max_index].age);
```
最后,我们可以将完整的代码放在一起:
```
#include<stdio.h>
struct person {
char name[20];
int age;
};
int main() {
int n;
printf("请输入人员个数:");
scanf("%d", &n);
struct person p[n];
for(int i = 0; i < n; i++) {
printf("请输入第 %d 个人的姓名和年龄(以空格隔开):", i+1);
scanf("%s %d", p[i].name, &p[i].age);
}
int max_age = 0;
int max_index = 0;
for(int i = 0; i < n; i++) {
if(p[i].age > max_age) {
max_age = p[i].age;
max_index = i;
}
}
printf("年龄最大的人是:%s,年龄为:%d\n", p[max_index].name, p[max_index].age);
return 0;
}
```
### 回答3:
结构体是C语言中一个非常常见的数据类型,可以自定义多个不同类型的成员,常用于表示复杂的数据结构。这里定义了一个person结构体类型,包括姓名和年龄两个成员:
```
struct person {
char name[20];
int age;
};
```
在主函数中,先从键盘输入人员的个数n,然后动态分配一个person数组:
```
int n;
printf("请输入人员的个数:");
scanf("%d", &n);
struct person *people = (struct person*)malloc(n * sizeof(struct person));
```
接下来,使用for循环依次输入每个人的姓名和年龄:
```
for (int i = 0; i < n; i++) {
printf("请输入第%d个人的姓名和年龄:", i+1);
scanf("%s%d", people[i].name, &people[i].age);
}
```
最后,在for循环中比较每个人的年龄,找出最大年龄的人员:
```
struct person max_person = people[0];
for (int i = 1; i < n; i++) {
if (people[i].age > max_person.age) {
max_person = people[i];
}
}
printf("年龄最大的人是%s,年龄为%d岁。\n", max_person.name, max_person.age);
```
完整代码如下:
```
#include <stdio.h>
#include <stdlib.h>
struct person {
char name[20];
int age;
};
int main() {
int n;
printf("请输入人员的个数:");
scanf("%d", &n);
struct person *people = (struct person*)malloc(n * sizeof(struct person));
for (int i = 0; i < n; i++) {
printf("请输入第%d个人的姓名和年龄:", i+1);
scanf("%s%d", people[i].name, &people[i].age);
}
struct person max_person = people[0];
for (int i = 1; i < n; i++) {
if (people[i].age > max_person.age) {
max_person = people[i];
}
}
printf("年龄最大的人是%s,年龄为%d岁。\n", max_person.name, max_person.age);
free(people);
return 0;
}
```
阅读全文
相关推荐
![-](https://img-home.csdnimg.cn/images/20241231044955.png)
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![-](https://img-home.csdnimg.cn/images/20241231044930.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)