annasily annasily
关注数: 49 粉丝数: 16 发帖数: 526 关注贴吧数: 23
scanf无能,getchar就可以?! 题目是让输入10个员工的职工号和姓名(英文的),然后根据职工号由小到大排序,再然后进行某一职工号的查询。我写的程序如下: #include<stdio.h> #include<string.h> int c[10]; char a[10][20]; void input(int c[10],char a[10][20]) { int i; for(i=0;i<10;i++) { printf("Please enter the employee's number and name:\n"); scanf("%d ",&c[i]); gets(a[i]); } } void sort(int c[10],char a[10][20]) { int i,max,j; char b[20]; for(i=0;i<9;i++) { for(j=9;j>i;j--) { if(c[i]>c[j]) { max=c[i]; c[i]=c[j]; c[j]=max; strcpy(b,a[i]); strcpy(a[i],a[j]); strcpy(a[j],b); } } } } void find(int p) { int low=0,high=9,i,mid; for(i=0;i<4;i++) { mid=(low+high)/2; if(p>c[mid]) low=mid; else if(p<c[mid]) high=mid; else if(p=c[mid]) { printf("NO.%d, his name is %s .\n",p,a[mid]); break; } else { printf("Wrong number."); break; } } } void main() { input(c,a); int i,p,flag=0,q; printf("\n"); printf("The list is:\n"); printf("NO. name\n"); for(i=0;i<10;i++) { printf("%d ",c[i]); printf(" %s\n",a[i]); } printf("\n"); sort(c,a); printf("From small to big:\n"); printf("NO. name\n"); for(i=0;i<10;i++) { printf("%d ",c[i]); printf(" %s\n",a[i]); } printf("\n"); while(flag==0) { printf("Please enter the number:"); scanf("%d",&p); find(p); printf("Do you want to search again? (Y/N): "); scanf("%d",&q); if((q=='N')||(q=='n')) flag=1; } printf("\n"); } 这个程序的问题就是最后的while循环不停止= =我也就奇了怪了,怎么把scanf("%d",&q);改成getchar();q=getchar();这个程序就正常了呢= =求解。。。
越来越搞不懂牛腩了T T求解释啊。。。 本人天秤女,他是牛腩,总觉得他像是爱我又不爱我,搞不明白,求各位牛腩指点。。。 1。有时候会在聊天的时候和我算起钱来= =难道牛腩对女朋友也很扣么?还是,他不够爱我? 2。我们都是学计算机的,不过我真的是打酱油,神马都不懂,他比较懂,然后我想买本本,就让他帮我看看哪些好,性价比又高的,然后他拒绝了,让我自己看,理由是我也是学电脑的,应该要会这些东西,后来看我不开心了,才说可以在我看中的几个里面参谋一下。 3。最近我要忙计算机等级考试,本来基础就不好,又没啥时间了,就想好好复习,然后学生会让我写一个国庆中秋留校生的活动策划书,又很急着要,可我真的没时间,就让他帮我写一下,结果他说这不是他们部门的事情,还说这个很简单的,包辆车出去玩就可以了。就这样拒绝我了。 我真的是心凉啊,什么都不肯帮我。。。牛腩,求解释好不好,不然我可能真的想放弃了。但是说不爱我又觉得不对,他和我买了情侣戒指,但是这又是一个问题,提出要买的是他,然后迟迟都没有约我去买,后来让我啥时候有空和他说,和他说了他也没反应,后来还是我提出来说那天去买才去的,so。。。到底是什么情况啊,当初是我追的他。。。是不是不爱我?
1 下一页