.6a数组中有N个正整数,删除所有的偶数,写一个c语言代码
时间: 2024-12-15 15:13:52 浏览: 2
在C语言中,如果你想从一个包含N个正整数的`.6a`数组中删除所有的偶数,你可以创建一个新的数组,只存储奇数。这里是一个简单的示例:
```c
#include <stdio.h>
#define SIZE 10 // 假设数组大小
void remove_even(int arr[], int* new_arr, int N) {
int count = 0; // 记录新数组中的元素个数
for (int i = 0; i < N; i++) {
if (arr[i] % 2 != 0) { // 如果当前元素是奇数
new_arr[count++] = arr[i]; // 将其添加到新数组
}
}
new_arr[count] = 0; // 确保新数组结束符为0
}
int main() {
int original_array[SIZE] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; // 原始数组示例
int result[SIZE]; // 新数组用于存放结果
int N = sizeof(original_array) / sizeof(original_array[0]); // 获取数组长度
remove_even(original_array, result, N);
printf("处理后的数组(不含偶数): ");
for (int i = 0; i < count; i++) {
printf("%d ", result[i]);
}
return 0;
}
```
这个程序首先定义了一个函数`remove_even`,它遍历原数组,只选择奇数并放入新数组`result`。`main`函数中,我们初始化了原始数组,并调用`remove_even`来完成转换。
注意:这个例子假设`new_arr`有足够的空间容纳所有奇数。如果不确定新数组大小,你可以在循环过程中动态分配空间,比如使用`malloc`。另外,实际项目中可能需要考虑更多边界条件和错误处理。
阅读全文