求问一个能删除数组中连续的相同的数的方法,谢谢!
就是说 让用户输入20个数,然后寻找数组中连续的相同的数,并且当连续的个数超过三个数时,就将这一组连续的数删除,最终输出一个新的数组。求问如何才能判断并删除数组中连续而又相同的超过一定个数的数呢(好拗口)?谢谢大家
int i,j,k; int a[20]={1,2,2,2,3,4,5,6,7,8,8,8,9,9,9,11,12,10,13,10}; for(i=0;i<=17;i++) //数组中每个数都要与后面的数字比较,直到第18个数,以后的数不可能有连续三个以上相同的 { k=0; //统计相同的次数 for(j=i+1;j<20;j++) { if(a[i]==a[j]) { k++; } else { break; } //一旦不相同,退出比较 } if(k>=3) //如果相同个数大于3 { for(j=i;j<i+k;j++) //将相同的K个数都设置为0 { a[j]=0; } i=i+k-1; //i设置为最后一个设置为0的数的下标,i++后再继续比较可节约时间 } }
[此贴子已经被作者于2016-1-31 21:59编辑过]