一道c++的问题,求大神解释下啊

找到输入字符中最大的字母,在后面加上max 。我的代码哪有问题,身为初学者的我真是一脸蒙蔽,求指教图片说明

楼主 你的代码 第一个for循环出了问题,详细参照你的第二个for循环。
其余的OK
当然如果更完美参照1喽和2喽完善一下
新手求给分!!~~~~

 for(i=0;i<strlen(chr);i++)
    {
        if(chr[i]>min)
        {
            min=chr[i];
        }
    }

这样就够了

min的初始化有问题吧、如果全是大写字母就bug了、可以初始化成chr[0]试试...

最后的输出语句加上换行就好了

第一个for循环结束条件 应该是 char[i]!='\0';
比较认同一楼的写法;

主要的问题是变量初始化的问题,这里是数组的初始化。
具体做法的就是加上string.h这个头文件,然后在程序中加上一句:
memset(chr,0,sizeof(chr)); //完整代码如下

#include<iostream>
#include<cstring>
#include<string.h>
using namespace std;

int main()
{
    char chr[100];
    memset(chr, 0, sizeof(chr));
    char min = 'a';
    int i;
    cin.getline(chr, 100);
    for (i = 0;chr[i] != '\0';i++)
    {
        if (chr[i] > min)
        {
            min = chr[i];
        }
    }
    for (i = 0;chr[i]!= '\0';i++)
    {
        cout << chr[i];
        if (chr[i] == min)
            cout << "(max)";
    }
    return 0;
}

https://zhidao.baidu.com/question/1830887236777605540.html