c语言把一个数组中重复元素去掉, 即不在数组中存储, 输出数组中剩余的元素及其数目。例如,对于数组a[12]={1,1,2,7,3,2,3,4,5,8,7,4},输出剩余7个数据:1,2,7,3,4,5,8。
时间: 2023-11-10 21:06:15 浏览: 198
数组重复元素去除
给定一个数组,要求去掉其中的重复元素,输出剩余元素及其数目。可以使用哈希表来实现,遍历数组,将每个元素作为键值存入哈希表中,如果已经存在,则不进行操作,否则将该元素存入结果数组中。最后输出结果数组即可。
代码示例(C语言):
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_SIZE 1000
int main() {
int a[MAX_SIZE], b[MAX_SIZE], n, m = 0;
int i, j, flag;
scanf("%d", &n);
for (i = 0; i < n; i++) {
scanf("%d", &a[i]);
}
for (i = 0; i < n; i++) {
flag = 1; for (j = 0; j < m; j++) {
if (a[i] == b[j]) {
flag = 0;
break;
}
}
if (flag) {
b[m++] = a[i];
}
}
printf("%d,", m);
for (i = 0; i < m; i++) {
printf("%d", b[i]);
if (i < m - 1) {
printf(",");
}
}
return 0;
}
```
阅读全文