| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 488 人关注过本帖
标题:折磨我N久的一道貌似很简单的一道题!一个菜鸟的疑问
只看楼主 加入收藏
zwlcdh
Rank: 1
等 级:新手上路
帖 子:83
专家分:0
注 册:2007-2-8
收藏
 问题点数:0 回复次数:2 
折磨我N久的一道貌似很简单的一道题!一个菜鸟的疑问
#include<stdio.h>
struct
{int num;
char name[10];
char sex;
char job;
union
{int banji;
char position[10];
}category;
}person[2];
void main()
{int i;
for(i=0;i<2;i++)
{scanf("%d%s%c%c",&person[i].num,person[i].name,&person[i].sex,&person[i].job);
if(person[i].job=='s')scanf("%d",&person[i].category.banji);
else if(person[i].job=='t')scanf("%s",person[i].category.position);
else printf("input error!");
}
printf("\n");
printf("No. Name sex job class/position\n");
for(i=0;i<2;i++)
{if(person[i].job=='s') printf("%-6d%-10s%-3c%-6d\n",person[i].num,person[i].name,person[i].sex,person[i].job,person[i].category.banji);
else printf("%-6d%-10s%-3c%-3c%-6s\n",person[i].num,person[i].name,person[i].sex,person[i].job,person[i].category.position);
}
}
输入 101 li f s 501
102 wang m t professor
应该输出 No. Name sex job class/position
101 li f s 501
102 wang m t professor
可是怎么就不对呢!!!!我都纳闷两天了!
搜索更多相关主题的帖子: 疑问 折磨 
2007-04-11 08:43
lxzx36
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2007-4-9
收藏
得分:0 
不知道 你用共用体是什么意思
我帮你改了一下,你看看这个合你的意思不:
#include<stdio.h>
struct
{int num;
char name[10];
char sex[10];
char job[10];
char banji[10];
char position[10];
}person[2];
void main()
{int i;
char str[10];

for(i=0;i<2;i++)

{printf("input the information of number %d!\nNo. Name sex job class/position\n",i+1);
scanf("%d%s%s%s%s",&person[i].num,person[i].name,person[i].sex,person[i].job,str);
if(*person[i].job=='s')
strcpy(person[i].banji,&str);
else if(*person[i].job=='t')
strcpy(person[i].position,&str);
else printf("input error!");
}
printf("\n");
printf("No. Name sex job class/position\n");
for(i=0;i<2;i++)
{if(*person[i].job=='s')
printf("%-6d%-6s%-3s%-6s%-5s\n",person[i].num,person[i].name,person[i].sex,person[i].job,person[i].banji);
else if(*person[i].job=='t')
printf("%-6d%-6s%-3s%-6s%-5s\n",person[i].num,person[i].name,person[i].sex,person[i].job,person[i].position);
}
getch();
}
2007-04-11 18:28
无玩过界
Rank: 1
等 级:新手上路
威 望:2
帖 子:246
专家分:0
注 册:2007-2-20
收藏
得分:0 
scanf("%d%s%c%c",&person[i].num,person[i].name,&person[i].sex,&person[i].job);
感觉这里有问题,其它没有看。后面会吃掉回车,注意%s%c这个。

2007-04-11 19:37
快速回复:折磨我N久的一道貌似很简单的一道题!一个菜鸟的疑问
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015325 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved