#include<stdio.h>
#include<string.h>
int main()
{
char a[1000],h;
int i,c,b,j;
c=0;
scanf("%s “,&a);
scanf(”%c",&h);
b=strlen(a);
if(h>=a[b-1]) // 当插入的元素比原有字符串每个元素都要大,放到最后
{
a[b]=h;
for(i=0; i<=b; i++)
printf("%c",a[i]);
printf("\n");
}
else
{
for(i=0; i<b; i++)
{
if(h<a[i])
{
c=i;// 保留要插入的位置
break;
}
}
for(i=b-1; i>=c; i–)
{
a[i+1]=a[i]; //将插入元素以后的所有元素水平右移
}
a[c]=h;
for(i=0; i<=b; i++)
{
printf("%c",a[i]);
}
printf("\n");
}
}
本文介绍了一种在C语言中实现字符串排序的方法,通过输入一个字符串和一个字符,然后将字符插入到字符串中适当的位置,使得整个字符串保持字典序排列。首先检查插入的字符是否大于等于字符串的最后一个字符,如果是,则直接将其添加到字符串末尾;否则,找到第一个比插入字符大的位置,并将该位置之后的所有字符向右移动一位,再将插入字符放置于该位置。

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



