找到输入字符中最大的字母,在后面加上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;
}