Problem E: 排序(难度:4)
Description
给你n(n > 1)个小写字母,按照字母升序排序后输出。
Input
第一行:n
第二行:n个小写字母。
Output
输出包括两行:
若n为偶数,两行各有n个字母排序后 一半的字母。
若n为奇数,第一行比第二行多一个字母。
Sample Input
5
e d c b a
Sample Output
a b c
d e
HINT
#include<stdio.h>
#include<string.h>
int main()
{
int n,i,j;
char a[100];
scanf("%d",&n);
for(i=0;i<n;i++)
{
getchar();
scanf("%c",&a[i]);
}
for(i=0;i<n-1;i++)
{
for(j=0;j<n-1-i;j++)
{
if(a[j]>a[j+1])
{
char t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
}
}
for(i=0;i<n;i++)
{
if(n%2==0)
{
if(i<n/2)
{
if(i==(n-2)/2)
{
printf("%c\n",a[i]);
}
else if (i!=(n-2)/2)
printf("%c ",a[i]);
}
else
{
if(i==n-1)
printf("%c",a[i]);
else
printf("%c ",a[i]);
}
}
else
{
if(i<(n+1)/2)
{
if(i==(n-1)/2)
{
printf("%c\n",a[i]);
}
else if(i!=(n-1)/2)
printf("%c ",a[i]);
}
else
{
if(i==n-1)
printf("%c",a[i]);
else
printf("%c ",a[i]);
}
}
}
return 0;
}
//注意下输出格式