任务是显示基于某些用户生成的输入而没有重复的数组。
我正在尝试将数字与之前的每个数字进行比较,如果相等发生,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]);
}
答案 0 :(得分:1)
代码块中有三个单独的问题:
a
未初始化。在您的循环上方添加一行a = 0;
。
您的if块读取if(X[i]=X[j])
;它应该是if(X[i] == X[j])
(您错过了一个=
)
k
的最终值将比您拥有的元素总数少一个。将最终的for
循环更改为i = 0; i <= k; i++