重生末日txt全集下载:关于C语言的问题

来源:百度文库 编辑:高校问答 时间:2024/05/11 01:26:31
请问这题有会写的吗,给写一下
要求编制函数JSSORT()以行为单位对字符串按给定条件进行排序,排序后的结果仍按行重新存入字符串数组中.排序条件:将字符串从中间一分为二,左边部分按字符串的ASCLL码值升序排列,排序后左边部分与右边部分进行交换,如果原字符串长度为基数,则最中间的字符串不参与处理,仍放在原位置上.例如:原字符串: dcbahgfe
432198765
则处理后的字符串: hgfeabcd
876591234

以下程序通过调试
#include <stdio.h>
#include <string.h>
void JSSORT(char s[])
{
int ti,i,j,len,flag;
char tmp;
len=strlen(s);
flag=len%2;/*若为奇数flag=1;否则flag=0*/
len/=2;/*长度的一半*/
/*选择排序*/
for (i=0;i<len-1;i++)
{
ti=i;
for (j=i+1;j<len;j++)
if (s[ti]>s[j]) ti=j;
if (ti!=i) {tmp=s[ti];s[ti]=s[i];s[i]=tmp;}
}
/*左右两部分交换*/
for (i=0;i<len;i++)
{
tmp=s[i];s[i]=s[len+flag+i];s[len+flag+i]=tmp;
}
return;
}
int main()
{
char str[200];
scanf("%s",str);
JSSORT(str);
printf("%s\n",str);
}