這是我在這裏的代碼,我想找到的相同長度的字符最大長度,如「a a a bb bb bc sa sa a a
」所以答案是在時間相鄰5次5兩個字符的時間。循環無法正常運行
這是我的代碼,我的問題是,當我試圖把輸入,我的第一個輸入它不會函數getline但printf的在最後幾行,然後它需要一條線,並打印輸出
就像如果我給 5寫入1,那麼它需要函數getline,但我想它採取函數getline第一,而不是printf的,以這種方式爲我的5個輸入它打印。我想5所希望你能告訴我爲什麼1個4所希望輸出..
#include<iostream>
#include<cstdio>
#include<vector>
using namespace std;
int main()
{
int a,j;
scanf("%d",&a);
for(j=0;j<a;j++)
{
vector<int> v;
string s;
getline(cin,s);
int i,cnt =0;
for(i=0;i<s.length();i++)
{
if(s[i] != ' ')
{
cnt++;
}
else
{
v.push_back(cnt);
cnt =0;
}
}
v.push_back(cnt);
int k=0;
int ps =0;
int sp=0;
while(k<v.size()-1)
{
if (v[k+1] - v[k] == 0)
{
sp++;
k++;
}
else
if (sp >= ps)
{
ps = sp;
k++;
sp=0;
}
else
{
k++;
sp=0;
}
}
if (sp<ps)
printf("%d",ps+1);
else
printf("%d",sp+1);
}
return 0;
}