去重

在键盘上输入一组数据存入数组,删除数组中的在后面的重复数据,输出到屏幕上去

#include <stdio.h>

int main()
{
    int a[10];
    int i;
    printf("请请输入数组中的数据");
    for(i = 0; i<10; i++)
    {
        scanf("%d", &a[i]);
    }
    check(a, 10);
    printf("去重后的数据是\n");
    for(i = 0; i<10; i++)
    {
        printf("%d ", a[i]);
    }
    return 0;
}

void check(int a[], int length)
{
    int i;
    int check_item;
    for(i = 0; i<length; i++)
    {
        check_item = a[i];
        int j;
        for(j = i+1; j<length; j++)
        {
            if(check_item == a[j])
                delete_item(a, j, length);
        }
    }
}

void delete_item(int a[], int index, int length)
{
    int k;
    for(k = index; k<length; k++)
    {
        if(k == length-1)
            a[k] = 0;
        else
            a[k] = a[k+1];
    }
}
//存在问题:当输入 1 2 3 1 2 3 1 2 3 1 时,输出 1 2 3 3 000000

 

posted @ 2017-06-07 22:18  Ridgway  阅读(79)  评论(0)    收藏  举报