利用3×20的二维字符数组存放3个字符串,找出其中最大的字符串并输出。
输入格式:
在3行分别输入3个字符串,在字符串中不要出现换行符,空格,制表符
输出格式:
在两行中按照“The largest string is:(换行)最大字符串”的顺序输出。
输入样例:
as
qwer
zxc
输出样例:
The largest string is:
zxc
难道最大的字符串不应该是qwer吗?为什么会是zxc呢
#include <iostream>
#include <cstdlib>
#include <iomanip>
using namespace std;
int main(){
string str[3];
string s;
int i;
for(i=0;i<3;i++)
{
getline(cin,str[i]);
}
for(i=0;i<2;i++)
{
if(str[i]<str[i+1])
s=str[i+1];
}
cout<<"The largest string is:" <<endl;
cout<<s;
return 0;
}
我用这样的代码输出的还真是zxc
#include <iostream>
#include <cstdlib>
#include <iomanip>
using namespace std;
int main(){
string str[3];
string max;
int i,length1,length2;
for(i=0;i<3;i++)
{
getline(cin,str[i]);
}
for(i=0;i<2;i++)
{
length1=str[i].length();
length2=str[i+1].length();
if(length1<length2)
max=str[i+1];
}
cout<<"The largest string is:" <<endl;
cout<<max;
return 0;
}
但是我换成length的话就变成了qwer是最大字符串了,
能帮我解答一下为什么用string比较和用length比较会出现两种不一样的结果吗