C语言结构体的一点问题
(2)定义一结构体People,包括姓名,性别,职位,年龄,要求从键盘输入3名人员的相应信息并显示,请找出下面程序的错误并修改。#include<stdio.h>stru...
(2)定义一结构体People,包括姓名,性别,职位,年龄,要求从键盘输入3名人员的相应信息并显示,请找出下面程序的错误并修改。
#include <stdio.h>
struct People//结构体People { char name[20];//姓名 char sex;//性别
char position[20];//职位 int age; //年龄}; void main()
{
struct People peo; //定义结构体数组,此处请修改! ( 1)
int i;
for(i=0;i<3;i++)//输入
{
printf("Please input the %d People's name\n",i+1);
scanf("%c",peo[i].name);//输入姓名,此处请修改!(2)
getchar();
printf("Please input the person's sex\n");
scanf("%c",peo[i].sex);//输入性别,此处请修改! (3)
getchar();
printf("Please input the People's position\n");//输入职位
scanf("%s",peo[i].position); (4)
getchar();
printf("Please input the person's age\n");//输入年龄
scanf("%d ",&peo[i].age);
}
for(i=0;i<3;i++)//输出
{
printf("The %d People's name is:%s,sex:%c,position:%s,age:%d \n",i+1,peo[i].name,peo[i].sex,peo[i].position,&peo[i].age);//此处请修改!(5)
}
}
答案:
( 1) 改为struct People peo[];
(2)改为scanf("%c",&peo[i].name);
(3)改为scanf("%c"&,peo[i].sex);
(4)改为scanf("%s",&peo[i].position);
(5) 改为:printf("The %d People's name is:%s,sex:%c,position:%s,age:%d \n",i+1,peo[i].name,peo[i].sex,peo[i].position,peo[i].age);
第五项改错。原先姓名输入是按c%格式输入的。输出时不用c%吗 展开
#include <stdio.h>
struct People//结构体People { char name[20];//姓名 char sex;//性别
char position[20];//职位 int age; //年龄}; void main()
{
struct People peo; //定义结构体数组,此处请修改! ( 1)
int i;
for(i=0;i<3;i++)//输入
{
printf("Please input the %d People's name\n",i+1);
scanf("%c",peo[i].name);//输入姓名,此处请修改!(2)
getchar();
printf("Please input the person's sex\n");
scanf("%c",peo[i].sex);//输入性别,此处请修改! (3)
getchar();
printf("Please input the People's position\n");//输入职位
scanf("%s",peo[i].position); (4)
getchar();
printf("Please input the person's age\n");//输入年龄
scanf("%d ",&peo[i].age);
}
for(i=0;i<3;i++)//输出
{
printf("The %d People's name is:%s,sex:%c,position:%s,age:%d \n",i+1,peo[i].name,peo[i].sex,peo[i].position,&peo[i].age);//此处请修改!(5)
}
}
答案:
( 1) 改为struct People peo[];
(2)改为scanf("%c",&peo[i].name);
(3)改为scanf("%c"&,peo[i].sex);
(4)改为scanf("%s",&peo[i].position);
(5) 改为:printf("The %d People's name is:%s,sex:%c,position:%s,age:%d \n",i+1,peo[i].name,peo[i].sex,peo[i].position,peo[i].age);
第五项改错。原先姓名输入是按c%格式输入的。输出时不用c%吗 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询