我如何输入一个整数数组并检查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]);
}
}
这个结果给了我我需要但不完全的东西。 你可以帮忙吗?
答案 0 :(得分:3)
#include<stdio.h>
int main() {
int arr[20], i, j, k, size;
printf("\nEnter array size:");
scanf("%d", &size);
printf("\nEnter Numbers:");
for (i = 0; i < size; i++)
scanf("%d", &arr[i]);
printf("\nList of Unique Numbers:");
for (i = 0; i < size; i++) {
for (j = i + 1; j < size;) {
if (arr[j] == arr[i]) {
for (k = j; k < size; k++) {
arr[k] = arr[k + 1];
}
size--;
} else
j++;
}
}
for (i = 0; i < size; i++) {
printf("%d ", arr[i]);
}
}
输入后,我们从第一个元素开始。然后在for循环中,我们有另一个for循环来检查该元素之后的元素。如果有重复,我将其删除。希望这有帮助!