输入小于20个整数,扫描数据,删除其中重复数字,输出剩余数字
时间: 2024-01-02 19:04:06 浏览: 27
可以使用哈希表的思想,遍历输入的整数,将每个整数作为哈希表的键,出现次数作为哈希表的值。最后输出哈希表中值为1的键即可。
以下是示例代码:
```c
#include <stdio.h>
#define MAX_SIZE 20
int main() {
int arr[MAX_SIZE], hash[MAX_SIZE] = {0};
int n, i, j, flag;
printf("Enter up to %d integers: ", MAX_SIZE);
scanf("%d", &n);
for (i = 0; i < n; i++) {
scanf("%d", &arr[i]);
hash[arr[i]]++;
}
printf("After removing duplicates: ");
flag = 0;
for (i = 0; i < n; i++) {
if (hash[arr[i]] == 1) {
printf("%d ", arr[i]);
flag = 1;
}
}
if (!flag) {
printf("No unique numbers found.");
}
return 0;
}
```
输入示例:
```
Enter up to 20 integers: 8
1 2 3 2 4 1 5 3
```
输出示例:
```
After removing duplicates: 4 5
```