问题
编写一个函数将一条字符串分成两部分,将前半部分按ASCII码升序排列,后半部分不变,再将前后两部分交换,最后将该字符串输出。测试字符串“ADZDDJKJFIEJHGI”.
代码
#include <stdio.h>
#include <stdlib.h>
//冒泡排序算法
void mysort(char *str,int num)
{
int i,j;
int temp = 0;
for (i = 0;i<num;i++)
{
for(j = i +1;j<num;j++)
{
if(str[i]<str[j])
{
temp = str[i];
str[i] = str[j];
str[j] = temp;
}
}
}
}
char *foo(char *str)
{
int len = 0;
char *start = NULL:
if(str == NULL)
{
return NULL:
}
start = str;
while(*str++);
len = str - start -1;
len = len/2;
str = start;
mysort(str,len);
return str;
}
int main()
{
char string[] = "ADZDDJKJFIEJHGI";
printf("%s\n",string);
foo(string);
printf("%s\n",string);
return 0;
}
本文介绍了一个字符串处理函数,该函数将输入字符串分为两部分:前半部分按ASCII码升序排列,后半部分保持不变,然后交换这两部分并输出结果。通过使用冒泡排序算法实现字符串的局部排序。
1860

被折叠的 条评论
为什么被折叠?



