gpt4 book ai didi

c - 删除数组中相同数字的重复项

转载 作者:行者123 更新时间:2023-11-30 15:16:20 25 4
gpt4 key购买 nike

任务是根据某些用户生成的输入显示没有重复的数组。

我试图将这个数字与它之前的每个数字进行比较,如果相等,a=1,它应该跳过它。代码不返回任何内容。

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

int main()
{
int X[30],Y[30],i,j,k=0,a,N;
printf("Length of the vector: ");
scanf("%d",&N);
printf("Input the numbers: ");
for(i=0;i<N;i++)
scanf("%d",X+i);
Y[0]=X[0];
for(i=1;i<N;i++){
for(j=i-1;j>=0;j--)
if(X[i]=X[j])
a=1;
if(a==0){
k++;
Y[k]=X[i];
}
a=0;
}
for(i=0;i<k;i++)
printf("%d",Y[i]);
}

最佳答案

代码块中存在三个独立的问题:

  1. a第一次通过循环时未初始化。添加一行a = 0;在你的循环之上。

  2. 您的 if block 读取 if(X[i]=X[j]) ;应该是if(X[i] == X[j]) (您缺少一个=)

  3. 您的最终值 k将比您拥有的元素总数少一。更改您的最终for循环至i = 0; i <= k; i++

关于c - 删除数组中相同数字的重复项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33155897/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com