题目1:输入一个数字(最多15个),去掉连续次数大于等于三的数字,如果去掉后仍有连续次数大于等于三的,继续进行同样的处理,直到结果中没有出现连续次数大于等于三的数字为止。
如果最终全部消除完了 输出“none”
输入:1 1 1 1 2 2 2 1 3 3 3 3 1 1 1
如果最终全部消除完了 输出“none”
输入:1 1 1 1 2 2 2 1 3 3 3 3 1 1 1
输出:none
#include<iostream>
#include<string>
using namespace std;
int main(){
char a[15]={0},count=0;
string str;
int k=0,p=0;
for(int i=0;i<15;i++){
cin>>a[i];
count++;
str=str+a[i];
char c;
if((c=getchar())=='\n') break;
}
while(k<str.length()-1){
if(str[k]==str[k+1]) {p++;k++;}
if (k>=str.length()-1)
{
str.erase(k-p,p+1);
p=0;
k=0;
}else
{
if(str[k]!=str[k+1]&&p>=2){
str.erase(k-p,p+1);
p=0;
k=0;
}
}
if (str.length()!=0)
{
if(str[k]!=str[k+1]&&p<2) {
k++;
p=0;
}
}else
{
break;
}
}
if(str.length()==0)cout<<"none";
else cout<<str;
system("pause");
}
本文介绍了一个C++程序,该程序能够接收一串数字作为输入,并移除所有连续出现三次及以上的数字序列,直至不再存在此类重复序列。若最终结果为空,则输出'none'。
577

被折叠的 条评论
为什么被折叠?



