程序程序程序

lllqdhh 2006-07-24 11:14:17
#include <stdio.h>
#define N 5
#define MAXLEN 10
struct student
{
char num[MAXLEN],age[MAXLEN],weight[MAXLEN],name[MAXLEN],sex[MAXLEN];
};

int main()
{
struct student stu[N];
int i;
int j;
char juge='y';
for(i=0; i<N &&( juge=='y' ||juge=='Y');i++)

{
printf("Please input No. %d's information:\n",i+1);
printf("stuNo:");
scanf("%9s%*s",stu[i].num);//此处定义了输入的最大宽度为9,超过9后的全部删除
printf("name:");
scanf("%9s%*s",stu[i].name);
printf("sex:");
scanf("%9s%*s",stu[i].sex);
printf("age:");
scanf("%9s%*s",stu[i].age);
printf("weight:");
scanf("%9s%*s",stu[i].weight);
printf("\n");
fflush(stdin);
printf("Do you want to input another one(y/n)?");
scanf("%c",&juge);
};
printf("No. Name sex age weight\n");
for(j=0;j<i;j++)
{
printf("%5s%9s%9s%9s%9s\n",stu[j].num,stu[j].name,stu[j].sex,stu[j].age,stu[j].weight);
}
}


如果不加上"%9s%*s"这句的话。输入超过10位的就会出错。但是这样改了之后运行程序。输入超过10位的会顺利运行下去,并把多余的删除掉。但如果输入未到定义的宽度,无论怎么样按回车都不继续行进下一条语句,这要怎么处理啊?
...全文
119 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
dx30611 2006-07-24
  • 打赏
  • 举报
回复
不好意思
上面的%没有被去掉
dx30611 2006-07-24
  • 打赏
  • 举报
回复
如果短了,程序会等待你输入%*s所接收的垃圾字符,所以要输入两次,后面的一次被扔掉了
#include <stdio.h>
#define N 5
#define MAXLEN 10
struct student
{
char num[MAXLEN],age[MAXLEN],weight[MAXLEN],name[MAXLEN],sex[MAXLEN];
};

int main()
{
struct student stu[N];
int i;
int j;
char juge='y';
for(i=0; i<N &&( juge=='y' ||juge=='Y');i++)

{
printf("Please input No. %d's information:\n",i+1);
printf("stuNo:");
scanf("%9s",stu[i].num);//此处定义了输入的最大宽度为9,超过9后的全部删除
fflush(stdin);
printf("name:");
scanf("%9s%",stu[i].name);
fflush(stdin);
printf("sex:");
scanf("%9s%",stu[i].sex);
fflush(stdin);
printf("age:");
scanf("%9s%",stu[i].age);
fflush(stdin);
printf("weight:");
scanf("%9s%",stu[i].weight);
printf("\n");
fflush(stdin);
printf("Do you want to input another one(y/n)?");
scanf("%c",&juge);
};
printf("No. Name sex age weight\n");
for(j=0;j<i;j++)
{
printf("%5s%9s%9s%9s%9s\n",stu[j].num,stu[j].name,stu[j].sex,stu[j].age,stu[j].weight);
}
}

33,311

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧