编写一个程序,定义一个结构体表示人的基本信息,包括姓名、年龄和性别。从键盘输入5个人的信息,然后输出每个人的信息
时间: 2023-11-22 07:53:10 浏览: 81
以下是一个示例程序,可以实现你的需求:
```c
#include <stdio.h>
struct Person {
char name[20];
int age;
char gender;
};
int main() {
struct Person people[5];
// 从键盘输入每个人的信息
for (int i = 0; i < 5; i++) {
printf("请输入第%d个人的姓名:", i+1);
scanf("%s", people[i].name);
printf("请输入第%d个人的年龄:", i+1);
scanf("%d", &people[i].age);
printf("请输入第%d个人的性别(M/F):", i+1);
scanf(" %c", &people[i].gender);
}
// 输出每个人的信息
for (int i = 0; i < 5; i++) {
printf("第%d个人的信息如下:\n", i+1);
printf("姓名:%s\n", people[i].name);
printf("年龄:%d\n", people[i].age);
printf("性别:%c\n", people[i].gender);
}
return 0;
}
```
在这个示例程序中,我们定义了一个 `Person` 结构体,包含了姓名、年龄和性别这三个基本信息。然后通过一个循环,从键盘输入每个人的信息,存储在一个长度为 5 的数组中。最后再通过一个循环,输出每个人的信息。
需要注意的是,在输入性别时,我们使用了一个空格来跳过之前输入的回车符。这是因为在输入姓名和年龄时,用户按下回车键后输入的回车符会被留在输入缓存中,下一个 `scanf` 函数会直接读取这个回车符,导致输入不正确。通过在 `%c` 前加上一个空格,可以让 `scanf` 跳过缓存中的回车符,正确地读取性别信息。