小编Adr*_*man的帖子

从C中的数组中查找不同的数字

我在C++中看到了同样的问题,但我仍然不知道如何将它应用于C,即使这两种语言非常相似.我认为错误是内部for循环中的错误.例如输入:v[100] = {1,2,3,3,4,1}我期望输出:w[100] = {1,2,3,4}

#include <stdio.h>
#include <stdlib.h>

int main()
{
    int v[100], w[100], n, m, i, j, distinct=1;
    printf("n= ");
    scanf("%d", &n);

    for(i=0; i<n; i++)
    {
        printf("v[%d]= ", i);
        scanf("%d", &v[i]);
    }

    for(i=0; i<n; i++)
    {
        for(j=i+1; (j<n)&&(distinct==1); j++) 
            if(v[i]==w[j])
                distinct=0;
        if(distinct==1)
        {
            w[m]=v[i];
            m++;
        }
    }
    printf("the distinct elements are: ");
    for(i=0; i<m; i++)
        printf("%d\n", w[i]);

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

但这个输出是:randoms数

c arrays vector

2
推荐指数
1
解决办法
4075
查看次数

标签 统计

arrays ×1

c ×1

vector ×1