满意答案
#include void main() { char a,b,c,t; int x,y,z; while(scanf("%c%c%c",&a,&b,&c)==EOF); //这里修改了判断,否则不能执行下面的程序 { x=int(a); y=int(b); z=int(c); while(xy) { t=a;a=b;b=t; } if(x>z) { t=a;a=c;c=t; } if(y>z) { t=b;b=c;c=t; } } printf("%c %c %c\n",a,b,c); } } 另外,你的程序只能判断前三位,即qwe,因为scanf的时候,只有a,b,c接收字符,所以不能判断后面的asdzxc. 还有,这个程序可以改进,可以去掉第一层while(scanf("%c%c%c",&a,&b,&c)==EOF);直接写成scanf("%c%c%c",&a,&b,&c);就可以了。 你想一次输入 qwe asd zxc 后,然后显示 ewq dsa cxz 还是一步一步的,输入qwe后,显示ewq,再输入asd后,显示dsa,最后输入zxc后,显示cxz??? #include void main() { char a,b,c,t; int x,y,z; //while(scanf("%c%c%c",&a,&b,&c) != EOF); for (;;) { scanf("%c%c%c",&a,&b,&c); x=int(a); y=int(b); z=int(c); while(xy) { t=a;a=b;b=t; } if(x>z) { t=a;a=c;c=t; } if(y>z) { t=b;b=c;c=t; } } printf("%c %c %c\n",a,b,c); } } 你看看这样的程序呢?试验一下,是你想要的结果,但是我没有使用while(XXX!=EOF),这个还没有想明白。
查看原帖>>
01分享举报