ASCII码从小到大的顺序输出这三个字符

来源:百度知道 编辑:UC知道 时间:2024/06/03 20:22:23
Problem Description
输入三个字符后,按各字符的ASCII码从小到大的顺序输出这三个字符。

Input
输入数据有多组,每组占一行,有三个字符组成,之间无空格。

Output
对于每组输入数据,输出一行,字符中间用一个空格分开。

Sample Input
qwe
asd
zxc

Sample Output
e q w
a d s
c x z
这个程序我不知道哪里错,编译能通过,但是结果就是不对,请高人指点~谢谢~
#include<stdio.h>
void main()
{
char a,b,c,t,d[30][3];
int x,y,z,n=0,i,j;
scanf("%c%c%c",&a,&b,&c);
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;
}
d[n][1]=a;
d[n][2]=b;
d[n][3]=c;
n++;
scanf("%c%c%c",&a,&b,&c);
}
for(i=0;i<n;i++)

#include<stdio.h>
void main()
{
char a,b,c,t,d[30][3];
int x,y,z,n=0,i,j=0;
a=getchar();
for(i=0;i<30&&a!='\t';i++){
n++;
for(j=0;j<3&&a!='\t';j++){
if(a!='\n')
d[i][j]=a;
else j--;
a=getchar();
}
}

for(i=0;i<n-1;i++){
x=(int)d[i][0];
y=(int)d[i][1];
z=(int)d[i][2];
if(!(x<y&&y<z&&x<z)) {
if(x>y){
t=d[i][0];d[i][0]=d[i][1];d[i][1]=t;
}
if(x>z){
t=d[i][0];d[i][0]=d[i][2];d[i][2]=t;
}
if(y>z){
t=d[i][1];d[i][1]=d[i][2];d[i][2]=t;
}
}
}
for(i=0;i<n-1;i++) {
for(j=0;j<3;j++)
printf("%c ",d[i][j]);
printf("\n");
}
}

Problem Description
输入三个字符后,按各字符的ASCII码从小到大的顺序输出这三个字符。

Input
输入