如何在C ++中使用while循环迭代字符串?

时间:2015-03-08 23:45:55

标签: c++11

number = 100010001111111

for (int i=0; number.length(); i++) {
    while number[i] == 1 {
    k++;
    }
}

我想实现一个while循环作为for循环的替代,如上所示。

如何将其转换为while循环?

1 个答案:

答案 0 :(得分:1)

以下是您在评论中提到的问题的解决方案(Problem - 96A

    #include <iostream>

using namespace std;

int main()
{
   cout << "Please enter your players situation" << endl; 
    std::string str;
   cin >> str;

std::string::size_type i = 0;
int NumbersofAppearances = 0;
int ConsectiveNumberSequence = 7; //You can change that to whatever sequence you like
bool IsDangerous=false;
while (i < str.size())
{

     if(str[i]=='1'  )
     {
         ++NumbersofAppearances;
         //We need to check if we reached the consecutive number or not and save it on a different bool variable
         if(NumbersofAppearances>=ConsectiveNumberSequence)
         IsDangerous=true;
     }
     else
     {
        NumbersofAppearances=0; 
     }
    ++i;
}

//print out the end result
if (IsDangerous)
cout <<"YES , this is dangerous"<< endl;
else
cout <<"No, this is not dangerous"<< endl;

   return 0;
}

这是Coding ground

的链接