#include<iostream>
using namespace std;
void insertString (char str[], char c);
int main()
{
char str[100],c;
cin.getline(str,99);
cin>>c;
insertString (str, c);
cout<<str<<endl;
return 0;
}
void insertString (char str[], char c)
{
int n,i;
for(n=0;str[n]!=0;n++)
;
str[n+1]='\0';//画个大致图,就了解为什么有这个了,但没这个语句,也能输出正常……
for(i=n-1;i>=0;i--)
if(str[i]>c)
str[i+1]=str[i];
else
break;
str[i+1]=c;
}
给个建议,代码看不懂,就自己动手看下代码是怎么运行的,画图之类的,还有记住字符串后面有个字符’\0’,这个可能你会没注意到。
如果还不懂我就没办法了哈。