从键盘用gets函数输入从小到大有序排序列的字符串(不多于80个字符)后,再将字符‘k’插入其中,使其仍然有序。如输入:acfhhlprsyz,则输出acfhhklprsyZo 怎么作的?
供参考:
#include<stdio.h>
#include<string.h>
const int N = 80;
int main()
{
int n, i;
char str[N],ch = 'k';
gets(str);
n = strlen(str);
if (ch > str[n - 1]){// 插入操作
str[n] = ch;
}
else{
for (i = n; ch < str[i - 1] && i > 0; i--) {
str[i] = str[i - 1];
}
str[i] = ch;
}
str[n+1] = '\0';
for (i = 0; i < n + 1; i++)//输出 插入后字符串
printf("%c", str[i]);
printf("\n");
return 0;
}