使用continue判斷重複單詞以大寫開頭
很重要的一個細節就是:
即使是那些非大寫單詞由于他們被輸入過,是以疊代時候要注意
後值要傳給前值;
對于字元串使用cin輸入時是有風險的
比如你想輸入的是 “ Li LEI” 中間含間隔
然而使用cin讀取字元串的時候,卻把他們分成兩個字元串 。。。
個人覺得字元串 使用 getline(cin,變量) 來整行輸入好些。。
畢竟字元串不同于其他變量
使用getline(cin,變量)讀取整行字元串的代碼
切記一行一字元串,輸入後需回車;
#include<iostream>
#include<vector>
#include<string>
#include<cstdlib>
using namespace std;
int main()
{
string i="",j="";
int cnt=;
while(getline(cin,j)&&!j.empty())
{
if(j[]<||j[]>)
{
i=j;
cnt=;
continue;
}
if(j!=i)
{
i=j;
cnt=;
}
else
{
++cnt;
cout<<"連續重複出現兩次的字元串是:"<<j<<endl;
break;
}
}
if(cnt==)
cout<<"沒有字元串重複出現過"<<endl;
return ;
}
當輸入 GTV V
GTV V
以下是使用cin輸入的
#include<iostream>
#include<vector>
#include<string>
#include<cstdlib>
using namespace std;
int main()
{
string i="",j="";
int cnt=;
while(cin>>j&&!j.empty())
{
if(j[]<||j[]>)
i=j;
cnt=;
continue;
if(j!=i)
{
i=j;
cnt=;
}
else
{
++cnt;
cout<<"連續重複出現兩次的字元串是:"<<j<<endl;
break;
}
}
if(cnt==)
cout<<"沒有字元串重複出現過"<<endl;
return ;
}