1.方法一,对于while(cn>>s){......}形式的输入,想要结束输入时,可以采用 换行+Ctrl+Z+回车的方法。
示例:键盘输入多个字符串,返回其中的最长和最短字符串。
#include<iostream>
#include<string>
#include<vector>
using namespace std;
int main() {
vector<string> vec_str;
vector<int> vec_count;
string s;
cout << "please enter the string:";
while(cin >> s) {
bool found = false;
for(int i = 0; i != vec_str.size(); i++) {
if(s == vec_str[i]) {
found = true;
}
}
if(found == false) {
vec_str.push_back(s);
vec_count.push_back(s.size());
}
}
int max = 0, min = INT_MAX;
int max_num, min_num;
for(int j = 0; j !=vec_str.size(); j++) {
if(max < vec_count[j]) {
max_num = j;
max = vec_count[j];
}
if(min > vec_count[j]) {
min_num = j;
min = vec_count[j];
}
}
cout << "Longest:" << vec_str[max_num] << " ;Length:" << max << endl;
cout << "Shorst:" << vec_str[min_num] << " ;Length:" << min << endl;
}
2. 方法二,添加结束标志。在while中加入额外的判断标志,如!=“@”。
while(cin >> s && s !="@")