定义一个整型数组arr={1,3,4,2,6,2,6,2,8,2};将该数组中重复出现的整数只保留一个,其余的删除。
时间: 2023-04-03 22:03:50 浏览: 117
可以这样实现:
int arr[] = {1,3,4,2,6,2,6,2,8,2};
int len = sizeof(arr) / sizeof(int);
int new_arr[len]; // 新数组,用于存放去重后的结果
int new_len = 0; // 新数组的长度
for (int i = 0; i < len; i++) {
int j;
for (j = 0; j < new_len; j++) {
if (arr[i] == new_arr[j]) {
break; // 如果该数已经在新数组中出现过,跳出循环
}
}
if (j == new_len) { // 如果该数没有在新数组中出现过,加入新数组
new_arr[new_len++] = arr[i];
}
}
// 输出去重后的结果
for (int i = 0; i < new_len; i++) {
printf("%d ", new_arr[i]);
}
输出结果为:1 3 4 2 6 8
相关问题
在C语言中(9) 定义一个整型数组arr={1,3,4,2,6,2,6,2,8,2};将该数组中重复出现的整数只保留一个,其余的删除。
可以使用双重循环遍历数组,将重复出现的整数删除,具体实现可以参考以下代码:
int arr[] = {1,3,4,2,6,2,6,2,8,2};
int len = sizeof(arr) / sizeof(int);
for (int i = 0; i < len; i++) {
for (int j = i + 1; j < len; j++) {
if (arr[i] == arr[j]) {
for (int k = j; k < len - 1; k++) {
arr[k] = arr[k + 1];
}
len--;
j--;
}
}
}
for (int i = 0; i < len; i++) {
printf("%d ", arr[i]);
}
输出结果为:1 3 4 2 6 8
定义一个整型数组arr={1,3,4,2,6,2,6,2,8,2,6};里面还有重复项, // 将该数组中重复出现的整数只保留一个,其余的删除。
可以使用Set集合来实现去除重复项的功能。Set是一种不允许重复元素的集合,可以将数组中的元素依次添加到Set中,然后再将Set转换回数组。
以下是使用Java语言实现的示例代码:
```java
import java.util.*;
public class RemoveDuplicates {
public static void main(String[] args) {
int[] arr = {1, 3, 4, 2, 6, 2, 6, 2, 8, 2, 6};
// 将数组转换为Set
Set<Integer> set = new LinkedHashSet<>();
for (int num : arr) {
set.add(num);
}
// 将Set转换回数组
int[] result = new int[set.size()];
int index = 0;
for (int num : set) {
result[index++] = num;
}
// 输出结果
System.out.println(Arrays.toString(result));
}
}
```
运行以上代码,输出结果为:[1, 3, 4, 2, 6, 8],重复出现的整数只保留了一个,其余的被删除了。