• 删除重复数据 且输出数据与输入数据一致


    如果是不要求输出顺序与输入顺序一致,则直接用set就可以筛掉重复的数据,但set会将数据从小到大排序

    因此只能用循环的办法,从i开始,i+1循环 循环到与a[i]相同时,将后面的每个数都依次向前移一位

    移完之后不要忘记把总数减一,并且下一次要循环的数应该为刚刚的位置,也要减一

    #include <iostream>
    using namespace std;
    int main(){
        int a[500],i,j,k,c;
        while(cin>>a[0]){
     
            for(i=1;i<500;i++)
            {
                if ( cin.get()=='
    ' )
                break;
                cin>>a[i];
                         }
            c=i+1;
      
            for(i=0;i<c;i++)
                for(j=i+1;j<c;j++)
                    if(a[i]==a[j])
                    {
                        for(k=j;k<c-1;k++)a[k]=a[k+1];
                        c--; 
                        j--; 
                    }
            for(i=0;i<c-2;i++)
                cout<<a[i]<<" ";
            cout<<a[i]<<endl;
        }
        return 0;
    }
  • 相关阅读:
    特殊集合
    推箱子
    集合
    数组

    循环语句 练习题
    穷举与迭代
    循环语句
    练习题
    switch case
  • 原文地址:https://www.cnblogs.com/zxff/p/5978144.html
Copyright © 2020-2023  润新知