zoukankan      html  css  js  c++  java
  • 删去一维有序数组中所有相同的数,使之只剩一个。

      删去一维数组中所有相同的数,使之只剩一个。数组中的数已按由小到大的顺序排列,函数返回删除后数组中数据的个数。  例如,若一维数组中的数据是:   2 2 2 3 4 4 5 6 6 6 6 7 7 8 9 9 10 10 10  删除后,数组中的内容应该是:  2 3 4 5 6 7 8 9 10。

    #include <stdio.h>
    #define    N    80
    int  fun(int  a[], int  n)
    {
        int i=0,j=0;
        while(i<n)
        {
            while(a[i+1]==a[i])
            {
                i++;
            }
            a[j++]=a[i];
            i++;
        }
        return j;
    }
    main()
    {  int  a[N]={2,2,2,3,4,4,5,6,6,6,6,7,7,8,9,9,10,10,10,10},i,n=20;void NONO ();
       printf("The original data :
    ");
       for(i=0; i<n; i++)printf("%3d",a[i]);
       n=fun(a,n);
       printf("
    
    The data after deleted :
    ");
       for(i=0;i<n;i++)printf("%3d",a[i]); printf("
    
    ");
    }

    运行结果

  • 相关阅读:
    Mysql数据查询
    Mysql数据类型
    desc和show
    Mysql权限管理
    深入理解inode和硬链接和软连接和挂载点
    Linux用户和组
    VIM文本编辑器
    Linux文件操作
    MySQL基础
    八大排序
  • 原文地址:https://www.cnblogs.com/wlei5206/p/12792078.html
Copyright © 2011-2022 走看看