0
已采纳
定义全局 a[101];
定义 n,m,ans=0;
输入n,m;
循环(int i=0;i<=n-1;i++) 输入a[i];
循环(int i=0;i<=n-1;i++)
{
循环(int k=i;k<=n-1;k++)
{
如果(a[k]==m) ans++;
否则 break;
}
如果(ans>=3) i=i+ans-1;
否则 输出a[i],' ';
ans=0;
}
输出endl;


0
0
思路:题目说指定一个数a,如果该数组中有3个及3个以上的a连续出现,则该数字将会从数组中消除,即先判断i,i+1,i+2(数组中)是否是一样的数,之后用while循环,只要一直是这个数,就赋值为数据范围外的任意一个数,最后输出时只要不是那个数,就输出,伪代码如下
#include<iostream>
using namespace std;
int main()
{
int ;
定义
cin>> >> ;
for(i=0;i<n;i++)
{
cin>> ;
}
输入
for(i=0;i<n;i++)
{
if(判断是否是连续的三个一样的数)
{
while(如果一直等于那个数的话)
{
则将此数赋值为数据范围之外的数(如-1)
}
}
}
for(i=0;i<n;i++)
{
if(不等于-1(此数可更改)) cout<< <<" ";输出
}
return 0;
}
0
0

