C语言题目
输入三个字符后,按各字符的ASCII码从小到大的顺序输出这三个字符。
解题思路
算法一:
- 将其中二者进行比较
- 上述1比较后的大者与剩余者比较,得出最大者(max)
- 上述1比较后的小者与剩余者比较,得出最小者(min)
- 结合2、3得出的,剩余的便是中者(mid)
算法二:
- 待补充…….
初步代码实践
#include<stdio.h>
int main(){
char a,b,c,max,mid,min;
scanf("%c\r%c\r%c",&a,&b,&c);
if('a'>'b'){
if('a'>'c'){
max=a;
if('b'>'c'){
min=c;
if('b'>'c'){
min=c;
mid=b;
}else{
min=b;
mid=c;
}
}
}else{
max=c;
mid=a;
min=b;
}
}else{
if('a'>'c'){
min=c;
max=b;
mid=a;
}else{
min=a;
if('c'>'b'){
max=c;
mid=b;
}else{
max=b;
mid=c;
}
}
}
printf("max=%c\nmid=%c\nmin=%c\n",max,mid,min);
return 0;
}
代码优化
//优化版
#include<stdio.h>
int main(){
char a,b,c,max,mid,min;
scanf("%c\r%c\r%c",&a,&b,&c);
max=(a>b)?((a>c)?a:c):((b>c)?b:c);
min=(a<b)?((a<c)?a:c):((b<c)?b:c);
mid=a+b+c-max-min;
printf("max=%c\nmid=%c\nmin=%c\n",max,mid,min);
return 0;
}
© 版权声明
文章版权归作者所有,如需转载请联系作者。若文章内容侵犯了您的权益,请通过网站底部联系方式联系我们处理(本站具有最终解释权)。如有不便之处,敬请谅解。
THE END
- 最新
- 最热
只看作者