Maison > Questions et réponses > le corps du texte
La question est de lire plusieurs objets chaîne à partir de l'entrée standard et de trouver des mots répétés consécutifs. Par exemple, si l'entrée est :
comment maintenant maintenant la vache du paradis
, elle devrait afficher 3 (apparaît maintenant 3 fois de suite)
#include "iostream"
#include "string"
using namespace std;
int main() {
int result = 0;
int temp = 0;
string word = "";
string tempWord = "";
cout << "Enter a bunch of words: " << endl;
while (cin >> tempWord) {
if (word == "") {
word = tempWord;
++temp;
}
else {
if (tempWord == word) {
++temp;
}
else {
if (temp > result) {
result = temp;
temp = 0;
}
}
}
}
cout << result << endl;
return 0;
}
Cependant, le problème maintenant est que la sortie est toujours 0. J'ai trouvé le bug moi-même mais je pense qu'il n'y a rien de mal avec la logique. S'il vous plaît, donnez-moi quelques conseils, merci~
.为情所困2017-05-16 13:25:50
if (temp > result)
{
result = temp;
temp = 0;
//!
word = "";
}
word
Laissez-le également vide.
为情所困2017-05-16 13:25:50
Par exemple : saisissez un seul mot ou plusieurs mots
Penser globalement
#include<iostream>
#include<string>
using namespace std;
int main() {
int result = 0;
int temp = 0;
string word = "";
string tempWord = "";
cout << "Enter a bunch of words: " << endl;
while (cin >> tempWord) {
if (word == "") {
word = tempWord;
++temp;
if (temp > result) {
result = temp;
}
}
else {
if (tempWord == word) {
++temp;
if (temp > result) {
result = temp;
}
}
else {
word = tempWord;
temp = 1;
}
}
}
cout << result << endl;
return 0;
}