为了账号安全,请及时绑定邮箱和手机立即绑定

用结构体数字做学生信息管理,错哪了

用结构体数字做学生信息管理,错哪了

C
溯源1 2017-01-17 21:52:57
/* Note:Your choice is C IDE */#include "stdio.h"void main(){ int i; struct student{ char num[22]; char name[33]; char sex; int age; }; struct student stu[3]; for(i=0;i<2;i++) { printf("请输入第%d个学生的信息:\n",i+1); printf("number:"); scanf("%s",stu[i].num); printf("name:"); scanf("%s",stu[i].name); printf("sex:"); scanf("%c",&stu[i].sex); printf("\nage:"); scanf("%d",&stu[i].age); } printf("number  name   sex     age     \n"); for(i=0;i<2;i++) { printf("%-8s%-8s %-8c %-8d\n",stu[i].num,stu[i].name, stu[i].sex,stu[i].age); }    }
查看完整描述

3 回答

?
Xyino_Snake

TA贡献31条经验 获得超22个赞

类定义直接写在main函数里面吗?最好写外面。 性别输入单字符,显然不能输入汉字。 标准IO还要考虑回车符。 如果是我,我会使用 宽字符串+宽字符 支持汉字。 但是C语言函数会将宽转化为窄。因此又要搭配winAPI。 说实话直到目前为止,我自己都还没有贯彻这些正确主张。但下一步我将会这样做。 另外,我用的是C++。
查看完整回答
反对 回复 2017-03-17
?
望远

TA贡献1017条经验 获得超1032个赞

printf("请输入第%d个学生的信息:\n",i+1);
printf("number:");
gets(stu[i].num);
printf("name:");
gets(stu[i].name);
printf("sex:");
scanf("%c",&stu[i].sex);
printf("\nage:");
scanf("%d",&stu[i].age);

选择用gets()输入的时候会自动处理掉后面结尾处的回车,并且可以带有空格。

查看完整回答
反对 回复 2017-01-18
  • 3 回答
  • 0 关注
  • 1263 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信