在c语言产生n个2位随机整数,存放到数组中。编写程序,将数组中所有奇数删除,输出原数组内容和删除奇数后数组内容
时间: 2024-05-15 09:18:54 浏览: 91
好的,我能理解。下面是您的程序:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
int n = 10; // 数组长度
int arr[n]; // 数组定义
int i, j, k = 0; // 循环计数器和奇数个数
srand(time(NULL)); // 随机数种子初始化
// 生成随机数组并输出
printf("原数组内容:\n");
for (i = 0; i < n; i++) {
arr[i] = rand() % 90 + 10; // 生成10到99范围内的随机数
printf("%d ", arr[i]);
if (arr[i] % 2 == 1) // 统计奇数个数
k++;
}
// 删除奇数并输出
printf("\n删除奇数后数组内容:\n");
if (k == 0) // 若无奇数,则直接输出原数组
for (i = 0; i < n; i++)
printf("%d ", arr[i]);
else { // 否则去掉所有奇数再输出
int temp[n - k]; // 定义临时数组存放偶数
for (i = 0, j = 0; i < n; i++)
if (arr[i] % 2 == 0) // 只留下偶数
temp[j++] = arr[i];
for (i = 0; i < n - k; i++)
printf("%d ", temp[i]); // 输出结果
}
printf("\n");
return 0;
}
```
希望能对您有帮助!
阅读全文