C语音:输入数组,删除重复出现的数据 输入 输入一个长度为10的int型数组 输出 输出删除重复数据后的数组
时间: 2024-12-23 10:27:09 浏览: 8
在C语言中,你可以通过使用`#include <stdio.h>`来处理数组并删除重复元素。这里提供一个简单的示例程序,它使用了一个临时数组和一个循环来完成这个任务:
```c
#include <stdio.h>
// 函数声明
void removeDuplicates(int arr[], int n);
int main() {
int input[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 1}; // 示例输入数组
int length = sizeof(input) / sizeof(input[0]); // 获取数组长度
printf("Original array:\n");
for (int i = 0; i < length; i++) {
printf("%d ", input[i]);
}
removeDuplicates(input, length); // 调用函数删除重复项
printf("\nArray after removing duplicates:\n");
for (int i = 0; i < length; i++) {
printf("%d ", input[i]);
}
return 0;
}
// 删除重复项的函数
void removeDuplicates(int arr[], int n) {
int temp[n];
int j = 0;
for (int i = 0; i < n - 1; i++) {
if (arr[i] != arr[i + 1]) {
temp[j++] = arr[i]; // 如果当前元素与下一个不同,则添加到temp数组
}
}
temp[j] = arr[n - 1]; // 最后一个元素也有可能是唯一的
// 将结果复制回原数组
for (int i = 0; i < j; i++) {
arr[i] = temp[i];
}
}
```
当你运行这个程序,它会先打印原始数组,然后删除重复元素后再次打印。注意,这种方法不是真正意义上的"删除",因为它创建了一个新的数组存放去重后的值。如果你想在原地操作数组而不改变其大小,可以考虑使用哈希表或排序等其他算法。
阅读全文