Input 输入数据包括多个测试实例,每个实例由一行长度不超过100的字符串组成,字符串仅由大小写字母构成。
Output 对于每个测试实例输出一行字符串,输出的结果是插入字符串“(max)”后的结果,如果存在多个最大的字母,就在每一个最大字母后面都插入"(max)"。
Sample Input abcdefgfedcba xxxxx
Sample Output abcdefg(max)fedcba x(max)x(max)x(max)x(max)x(max)
Author lcy
Source C语言程序设计练习(四)
Recommend lcy | We have carefully selected several similar problems for you: 2027 2026 2031 2032 2033 本题注意 1不用考虑字母大小写,单纯的比较ASIIC码 2注意codeblocks的断点调试,如果项目路径包含中文,遇到断点处不会停,所以项目路径要是全英文。 3在定义数组存储字符串的时候,最好用 void *memset(void *str, int c, size_t n)初始化一下,防止把里面未赋值的'\0'当作字符串终止符,错误判断了字符串长度,(也就是最好初始化成不是'\0'的ASIIC码) C语言代码如下:
#include<stdio.h> #include<string.h> int main() { char s[300]; memset(s,123,300); while(scanf("%s",s)!=EOF) { getchar(); char temp='A'; for(int i=0;s[i]!='\0';i++) if(s[i]>temp) temp=s[i]; for(int i=0;s[i]!='\0';i++) { if(s[i]==temp) { for(int j=strlen(s);j>=i+1;j--) s[j+5]=s[j]; s[++i]='('; s[++i]='m'; s[++i]='a'; s[++i]='x'; s[++i]=')'; } } printf("%s\n",s); } }