ASCII码排序
时间限制:3000 ms | 内存限制:65535 KB
难度:2
输入
第一行输入一个数N,表示有N组测试数据。后面的N行输入多组数据,每组输入数据都是占一行,有三个字符组成,之间无空格。
输出
对于每组输入数据,输出一行,字符中间用一个空格分开。
样例输入
2 qwe asd
样例输出
e q w a d s
描述
输入三个字符(可以重复)后,按各字符的ASCII码从小到大的顺序输出这三个字符。
#include <iostream>
using namespace std;
int i=0;
void paixu(char *a,char *b,char *c)
{
char temp;
if(a[i]<b[i])
{
temp=a[i];
a[i]=b[i];
b[i]=temp;
}
if(b[i]<c[i])
{
temp=b[i];
b[i]=c[i];
c[i]=temp;
}
if(a[i]<b[i])
{
temp=a[i];
a[i]=b[i];
b[i]=temp;
}
i++;
}
int main()
{
int n;
char a[100],b[100],c[100];
cin>>n;
for(int i=0;i<n;i++)
{
cin>>a[i]>>b[i]>>c[i];
paixu(a,b,c);
}
for(int j=0;j<n;j++)
{
cout<<c[j]<<' '<<b[j]<<' '<<a[j]<<endl;
}
return 0;
}
卡住的地方:
1.排序的地方是(a<b -> b<c -> a<b)
2.报了Systemerror,说是内存不够。。我就把数组从50改成10,又改成5,最后改成100好了。。。。。。。。。。。。。。
(真的,骗你是小狗.jpg)