查找其中的最大字母,在该字母后面插入字符串“(max)”,C语言编写代码的做法

Problem Description
对于输入的每个字符串,查找其中的最大字母,在该字母后面插入字符串“(max)”。

Input
输入数据包括多个测试实例,每个实例由一行长度不超过100的字符串组成,字符串仅由大小写字母构成。

Output
对于每个测试实例输出一行字符串,输出的结果是插入字符串“(max)”后的结果,如果存在多个最大的字母,就在每一个最大字母后面都插入"(max)"。

Sample Input
abcdefgfedcba
xxxxx

Sample Output
abcdefg(max)fedcba
x(max)x(max)x(max)x(max)x(max)

C语言程序如下

/********/

#include
#include
#include
#include
int main()
{
int i;
int lss=0; /*s1的长度*/
char s[20]; /*存放输入的字符串*/
char s1[10]; /*辅助运算*/
char s2[150]; /*存放计算结果*/
printf("请输入字符串: \n");
scanf("%s",&s);
int sl= strlen(s);
printf("\n\n下面是运行过程的输出\n");
printf("字符串%s长度 %i\n", s,sl);
/*查看字符串读取是否与输入一致*/
/*并且输出字符串长度 /
int sm=0;

char sc=1;
for( i=0 ; i<sl ; i++) /
计算ascii码最大的字符*/
{ if(sc<s[i])
{sc=s[i] ; sm=sm+1;}
}

printf("字符串%s 位置%i 字符%c\n", s,sm,sc);
for( i=0 ; i<sl ; i++)
{ if(sc!=s[i])
{ strncpy(s1,s+i,1);
strcat(s2,s1);
lss=strlen(s1);
memset(s1,0,lss);
printf("s2= %s\n",s2);
}
if(sc==s[i])
{ strncpy(s1,s+i,1);
strcat(s2,s1);
lss=strlen(s1);
memset(s1,0,lss);
printf("s2=%s\n",s2);

strcat(s2,"(max)");
printf(" s2=%s\n",s2);

}
}

printf(" s= %s, s2= %s\n",s,s2);
printf("\n\n最后结果 字符串s2:\n%s \n",s2);
printf("程序结束 ");
return 0;
}

经手机编译器测试可以实现题目的两个例子