ASCII码排序
Problem Description
输入三个字符后,按各字符的ASCII码从小到大的顺序输出这三个字符。
Input
输入数据有多组,每组占一行,有三个字符组成,之间无空格。
Output
对于每组输入数据,输出一行,字符中间用一个空格分开。
Sample Input
qweasdzxc
Sample Output
e q w
a d s
c x z
#include<stdio.h>
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(x<y&&y<z&&x<z);
{
if(x>y)
{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);
}
}
用C++
总是wrong answer
我的问题是在“输入数据有多组”,望高手指点迷津! 第三位回答者的写法还是在杭电的ACM上没通过,还是WA。杭电网站是acm.hdu.edu.cn.还有这里我打错了Sample Input
qweasdzxc
应为qwe
asd
zxc
感谢NEV_CC我解决了输入数据有多组,但出现答案每次输会有变化!!
#include<stdio.h>
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(x<y&&y<z&&x<z);
{
if(x>y)
{t=a;a=b;b=t;printf("%c %c %c\n",a,b,c);}
if(x>z)
{t=a;a=c;c=t;printf("%c %c %c\n",a,b,c);}
if(y>z)
{t=b;b=c;c=t;printf("%c %c %c\n",a,b,c);}
}
x=0;y=0;z=0;
printf("%c %c %c\n",a,b,c);
}
}
回答三楼的NEU_CC。我要在程序不结束的情况下一组一组输
æè·¯ï¼å°±æ¯æ±ä¸ä¸ªå符æç §ASCIIç 顺åºè¿è¡æåºè¾åºï¼ä¸ä¸ªå符æåºå¯ä»¥å æ±åºä¸ä¸ªæ°ä¸çæ大å¼åæå°å¼ï¼åæä¸ä¸ªå符ç¸å åå»æ大åæå°çå°±æ¯ä¸é´å符ã
åè代ç ï¼
#include<stdio.h>