【发布时间】:2017-12-26 07:30:48
【问题描述】:
我如何输入一个整数数组并检查 2 对值是否相等,并且我还想删除重复的数组以使数组中只有 1 个相同的值? 我想打印没有重复值的数组的最终结果。 我有这样的想法:
int a[SIZE], i;
printf("Enter %d numbers:\n", SIZE);
for (i = 0; i < SIZE; i++) {
scanf_s("%d", a[i]);
if(i>=1){
if(a[i-1]==a[i]){
a[i-1]==a[i];
printf("%d", a[i-1]);
}
}
这个结果给了我我需要的东西,但并不完全。 你能帮忙吗?
【问题讨论】:
-
if(i==1)...为什么? -
因为我想每次比较 2 个值,1-2,2-3,3-4 等。通过这种方式,我可以比较我输入的第一个值然后继续。如果我不这样做,我没有第一个值可以与第二个值进行比较。我可以这样做的另一个选项是,只有当我将第一个数字存储在某个值中时。
-
您正在将每个数字与
1进行比较,即i == 1?? -
一种方法是输入数组,对其进行排序,检查重复项,删除重复项,重复直到输入所需数量的不同值。另一种方法是,每次读取一个值(在第一个值之后)时,检查它是否已经在数组中,如果是则丢弃它。我将编写任何一种方法的代码作为练习。
-
@ThiruShetty 不,我不好,我想这样做 i>=1,当迭代器更大/等于 1(意味着我们在数组中的第二个元素上)