C语言编程:输入三个字符后,按各字符的ASCII码从小到大的顺序输出这三个字符。

输入数据有多组,每组占一行,有三个字符组成,之间无空格。
例如输入 qwe
asd
zxc
输出 e q w
a d s
c x z

第1个回答  2011-09-23
是屏幕输入吗?输入结束的标志是什么?
#include "stdio.h"

char c1,c2,c3,tmp;

int main()
{
while(true)//你没说结束条件哈
{
//input
scanf("%c%c%c",&c1,&c2,&c3);
//sort因为只有三个就不再写冒泡的函数了,我就直接排序算了
if(c1>c3)
{//括号里面就是交换
tmp=c1;
c1=c3;
c3=tmp;
}
if(c1>c2)
{
tmp=c1;
c1=c2;
c2=tmp;
}
if(c2>c3)
{
tmp=c2;
c2=c3;
c3=tmp;
}
printf("%c %c %c",c1,c2,c3);
}
return 0;
}
//希望我没有记错东西,手边没编译器就是悲剧
第2个回答  2018-10-22
#include<stdio.h>
int main()
{
char a,b,c,d,e,f;
scanf("%c%c%c",&a,&b,&c);
d=a>b?a:b;
d=d>c?d:c;
e=a<b?a:b;
e=e<c?e:c;
f=a+b+c-d-e;
putchar(e);
putchar(f);
putchar(d);
return 0;
}
呵呵,我的最简单
第3个回答  2019-01-29
#include<stdio.h>
int main()
{
char a,b,c,temp;
while(scanf("%c %c %c",&a,&b,&c)!=EOF)
{
getchar();
if(a>b)
{
temp=a;
a=b;
b=temp;
}
if(a>c)
{
temp=a;
a=c;
c=temp;
}
if(b>c)
{
temp=b;
b=c;
c=temp;
}
printf("%c %c %c\n",a,b,c);
}
return 0;
}
第4个回答  2017-12-30
#include <stdio.h>
int main()
{
char a,b,c;
scanf("%c%c%c",&a,&b,&c);
int x=a,y=b,z=c;
int max,maxdata,min;
if(x<y){
if(z<x){
maxdata=y;
max=x;
min=z;
}
if(x<z&&z<y){
maxdata=y;
max=z;
min=x;
}
}
if(x>y){
if(z>x){
maxdata=z;
max=x;
min=y;
}
if(z<x&&y<z){
maxdata=x;
max=z;
min=y;
}
}
printf("%c%c%c",min,max,maxdata);
return 0;
}
相似回答