游客 Signup | Login
中文 | En

3572 - 10.cpp

读取一个字符串存放到字符数组xx(字符串长度均小于80)。请编制函数void jsSort(char xx[]),其函数的功能是:

<span style="font-size:12.0pt;line-height:150%;font-family:宋体;"><span>
<p class="MsoNormal" style="text-align:left;" align="left">
	<span style="font-size:12.0pt;line-height:150%;font-family:宋体;">从字符串中间一分为二<span>, </span>左边部分按字符的<span>ASCII</span>值降序排序<span>,</span>右边部分不作处理<span>,</span>如果原字符串长度为奇数<span>,</span>则最中间的字符不参加处理<span>,</span>字符仍放在原位置上。<span></span></span>
</p>
<p class="MsoNormal" style="text-align:left;" align="left">
	<span style="font-size:12.0pt;line-height:150%;font-family:宋体;"><span>&nbsp;&nbsp;&nbsp; </span></span><span style="font-size:12.0pt;line-height:150%;font-family:宋体;">例如<span>: </span>位置<span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>0 1 2 3 4 5 6 7</span></span>
</p>
<p class="MsoNormal" style="text-align:left;" align="left">
	<span style="font-size:12.0pt;line-height:150%;font-family:宋体;"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span style="font-size:12.0pt;line-height:150%;font-family:宋体;">源字符串<span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>a b c d h g f e</span></span>
</p>
<p class="MsoNormal" style="text-align:left;" align="left">
	<span style="font-size:12.0pt;line-height:150%;font-family:宋体;"><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span></span><span style="font-size:12.0pt;line-height:150%;font-family:宋体;">排序后<span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>d c b a h g f e</span></span>
</p>
<p class="MsoNormal" style="text-align:left;" align="left">
	<span style="font-size:12.0pt;line-height:150%;font-family:宋体;"><span>&nbsp;</span></span><span style="font-size:12.0pt;line-height:150%;font-family:宋体;">定义 字符数组<span><span>&nbsp; </span>char xx[80];</span></span>
</p>

字符串输入使用scanf()函数

Input

每行输入1个字符串,字符串中不要输入空格

Output

变换后的字符串

Examples

Input

abcdhgfe
abcdehgft

Output

dcbahgfe
dcbaehgft

Solution C

#include <stdio.h>
#include <math.h>
#include <string.h>
#include <stdlib.h>
#include <time.h>
#define N 10
void jsSort(char xx[])
{ char ch ;
  int half,j, k;
      half=strlen(xx)/2;
    for(j = 0 ; j < (int) half-1 ; j++)
      for(k=j+1;k<half;k++)
      if(xx[j]<xx[k])
         {ch=xx[j]; /*交换相邻元素*/
         xx[j]=xx[k];
         xx[k]=ch;
         }//排序

for(j=half-1,k=strlen(xx)-1;j>=0;j--,k--)
{ch=xx[j];
xx[j]=xx[k];
xx[k]=ch;
}
}
int main()
{
  //  freopen("in","r",stdin);
  //  freopen("out","w",stdout);

  char x[80];
  int n,i;
  while(scanf("%d",&n)!=EOF){
  for(i=0;i<n;i++)
  {
	scanf("%s",x);
	jsSort(x);
	printf("%s\n",x);
  }
  }

  return 0;
}

Time Limit 1 second
Memory Limit 128 MB
Discuss Stats
上一题 下一题