#include <stdio.h>
#include <string.h>
void sort(char a[],int n)
{ int i,t,j;
if(n%2==0)//0~5
{
for(i=0;i<n/2;i++)
for(j=0;j<n/2-i;j++)
if(a[j]<a[j+1])
t=a[j], a[j]=a[j+1], a[j+1]=t;
for(i=0;i<n/2-1;i++)
for(j=n/2;j<n-1-i;j++)
if(a[j]>a[j+1])
t=a[j], a[j]=a[j+1], a[j+1]=t;
}//right
if(n%2!=0)//0~6
{
for(i=0;i<n/2-1;i++)
for(j=0;j<n/2-1-i;j++)
if(a[j]<a[j+1])
t=a[j], a[j]=a[j+1], a[j+1]=t;
for(i=0;i<n/2-1;i++)
for(j=n/2+1;j<n-1-i;j++)
if(a[j]>a[j+1])
t=a[j], a[j]=a[j+1], a[j+1]=t;
}
}
void speical(char a[],char b[],int n)
{
sort(a,n);
int j;
if(n%2==0)
{
for(j=0;j<=n/2-1;j++)
b[j+n/2]=a[j];
for(j=n/2;j<=n-1;j++)
b[j-n/2]=a[j];
}
if(n%2!=0)//0~8
{
b[n/2]=a[n/2];
for(j=0;j<=n/2-1;j++)
b[j+n/2+1]=a[j];
for(j=n/2+1;j<=n-1;j++)
b[j-n+n/2]=a[j];
}
}
int main()
{
char a[100],b[100];
int n,i;
scanf("%s",a);
n=strlen(a);
//sort(a,n);
speical(a,b,n);
for(i=0;i<n;i++)
printf("%c",b[i]);
return 0;
}
NOJ :特殊要求的字符串
最新推荐文章于 2022-11-27 20:00:28 发布