相当于插入字符串
#include <stdio.h>
#include <string.h>
void insert(char a[], int len, int p)
{
char b[] = "(max)";
for (int i = len; i > p; --i)
a[i + 5] = a[i];
for (int i = p + 1, j = 0; i <= p + 5; ++i, ++j)
a[i] = b[j];
}
int main()
{
char a[2010];
gets(a);
int max = a[0];
for (int i = 1; a[i] != '\0'; ++i)
if (a[i] > max) max = a[i];
for (int i = 0; a[i] != '\0'; ++i)
{
if (a[i] == max)
{
insert(a, strlen(a), i);//循环时每次插入后a数组长度会变,每次都要求一遍
i += 5; // 插入字符串后,i要向后移,略过插入的
} //防止插入的字符串中正好有最大的字符
}
for (int i = 0; a[i] != '\0'; ++i)
printf("%c", a[i]);
return 0;
}