本题难度:2。
题目分析:
因为每组元素只有三个,所以不需要构造动态数组。
每输入一行,即得到输出,非全部输入再得到全部的输出。(此点可以改写)
如果每组元素不固定,则需要构造数组指针。
心得:
需要掌握徒手写一个排序算法的能力。
读题需要仔细。
#include<iostream>
#include<string.h>
using namespace std;
void BubbleSort(char *a,int len);
void Swap(char &a,char &b);
int main()
{
int num;
cin>>num;
char *a=new char[3];
for ( int i=0;i<num;i++)
{
cin>>a;
int len = strlen(a);
BubbleSort(a,len);
for(int i=0;i<len;i++)
{
if(i!=0) cout<<" "<<a[i];
else
cout<<a[i];
}
cout<<endl;
}
delete []a;
return 0;
}
void BubbleSort(char *a,int len)
{
int i,j,last;
i= len-1;
while(i>0)
{
last=0;
for(int j=0;j<i;j++)
if(a[j]>a[j+1])
{
Swap(a[j],a[j+1]);
last=j;
}
i = last;
}
}
void Swap(char &a,char &b)
{
char temp;
temp=a;
a=b;
b=temp;
}