定义人结构体类型,人包括的信息(姓名、性别、年龄、身高、体重),根据提示(如果输入’Y’,表示还有继续接受下一个人的信息输入,如果输入’N’,表示停止人的信息的输入),并输出当前人的信息。c语言
时间: 2024-02-11 19:07:57 浏览: 57
结构体类型定义与使用.c
好的,以下是一个示例程序,可以实现您的要求:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_NAME_LEN 50
typedef struct {
char name[MAX_NAME_LEN];
char gender[10];
int age;
double height;
double weight;
} Person;
int main() {
Person *people = NULL;
int count = 0;
while (1) {
Person p;
printf("请输入姓名: ");
scanf("%s", p.name);
printf("请输入性别: ");
scanf("%s", p.gender);
printf("请输入年龄: ");
scanf("%d", &p.age);
printf("请输入身高: ");
scanf("%lf", &p.height);
printf("请输入体重: ");
scanf("%lf", &p.weight);
count++;
people = (Person *)realloc(people, count * sizeof(Person));
people[count-1] = p;
printf("是否继续输入(Y/N)? ");
char c;
scanf(" %c", &c);
if (c != 'Y' && c != 'y') {
break;
}
}
printf("\n");
for (int i = 0; i < count; i++) {
printf("第%d个人的信息: \n", i+1);
printf("姓名: %s\n", people[i].name);
printf("性别: %s\n", people[i].gender);
printf("年龄: %d\n", people[i].age);
printf("身高: %.2lf\n", people[i].height);
printf("体重: %.2lf\n\n", people[i].weight);
}
free(people);
return 0;
}
```
您可以在这个程序中输入人的信息,每输入一个人的信息,程序会询问您是否继续输入下一个人的信息。当您输入完所有人的信息后,程序会输出每个人的信息。注意,为了避免内存泄漏,我们需要使用 `realloc` 函数来动态分配内存,并在程序结束时释放内存。
阅读全文