输入多组字符,为什么老是输入不进去每一组的最后一个字符?
描述:ascii码排序。
输入三个字符(可以重复)后,按各字符的ASCII码从小到大的顺序输出这三个字符。
输入
第一行输入一个数N,表示有N组测试数据。后面的N行输入多组数据,每组输入数据都是占一行,有三个字符组成,之间无空格。
输出
对于每组输入数据,输出一行,字符中间用一个空格分开。
#include<stdio.h>
void exchange(char &ch1,char &ch2);
int main()
{
int n,temp;
char ch1,ch2,ch3;
scanf("%d\n",&n);
while(n--)
{
ch1=getchar();ch2=getchar();ch3=getchar();
exchange(ch1,ch2);
exchange(ch2,ch3);
exchange(ch3,ch1);
printf("%c %c %c\n",ch1,ch2,ch3);
}
return 0;
}
void exchange(char &ch1,char &ch2)
{
int temp=0;
if(ch1>ch2)
{
temp=ch1;
ch1=ch2;
ch2=temp;
}
return;
}