先直接上代码吧!
#include<iostream>
#include<algorithm>
#include<string>
#include<cstring>
#include<cmath>
using namespace std;
int main() {
string s1,s2;
int num1;
cin >> s1;
for (int i = 1; i < 5;i++) {
cin >> s2;
if (s2.size()>s1.size()) {
s1 = s2;
}
}
cout << s1;
return 0;
}
思路:1)方法1:分别为这五个字符串设置变量进行存储
string s1, s2, s3, s4, s5;
cin >> s1 >> s2 >> s3 >> s4 >> s5;
int num1, num2, num3, num4, num5;
num1 = s1.size();
num2 = s2.size();
num3 = s3.size();
num4 = s4.size();
num5 = s5.size();
用第一种方法感觉有点死板了,不过题目毕竟没有明确的说明是否存在长度相同且同时为最大的字符串。
方法2:就设置一个变量,当输入的字符串的长度大于原先的长度就替换。最后输出最大的(这里存在的疑惑就是如果一样长的话咋办呢,是通过方法1,同时输出吗?题目给的不严谨!!)
本题笔者用了第二种方法试了一下:通过了!