版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/wxd1233/article/details/82532529
ASCII码排序Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 212033 Accepted Submission(s): 84636 Problem Description 输入三个字符后,按各字符的ASCII码从小到大的顺序输出这三个字符。 Input 输入数据有多组,每组占一行,有三个字符组成,之间无空格。 Output 对于每组输入数据,输出一行,字符中间用一个空格分开。 Sample Input qwe asd zxc Sample Output e q w a d s c x z |
思路一:三变量交换法
#include<stdio.h>
int main(void)
{
char c1;
char c2;
char c3;
while(~scanf("%c%c%c",&c1,&c2,&c3))
{
getchar();
if(c1>c2)
{
char temp = c1;
c1 = c2;
c2 = temp;
}
if(c1>c3)
{
char temp = c1;
c1 = c3;
c3 = temp;
}
if(c2>c3)
{
char temp = c2;
c2 = c3;
c3 = temp;
}
printf("%c %c %c\n",c1,c2,c3);
}
return 0;
}
思路二:调用库函数sort。
#include<stdio.h>
#include<algorithm>
using namespace std;
int main(void)
{
char s[3];
while(~scanf("%s",s))
{
sort(s,s+3);
printf("%c %c %c\n",s[0],s[1],s[2]);
}
return 0;
}