*HDoj 2025 查找最大元素

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)  

 

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);
    }
}

 

上一篇:HDoj 2033 人见人爱A+B


下一篇:HDOJ 1995 汉诺塔V