您的位置:首页 > 其它

华为2014机试题

2014-07-10 21:12 190 查看
题目1:输入一个数字(最多15个),去掉连续次数大于等于三的数字,如果去掉后仍有连续次数大于等于三的,继续进行同样的处理,直到结果中没有出现连续次数大于等于三的数字为止。

如果最终全部消除完了 输出“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");
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: