(用c语言)随机产生20个不大于10的自然数,将其存储在一个二维数组中,且偶数与奇数分别存储在不同列上。输出该数组并统计偶数与奇数的个数
时间: 2024-12-08 10:23:09 浏览: 29
在C语言中,你可以使用`rand()`函数生成随机数,并结合`srand()`设置随机种子以保证每次运行程序都会得到不同的结果。首先,创建一个二维数组来存储20个随机数,然后使用条件判断将它们分开存储。下面是简单的示例代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define ROWS 4 // 20个数需要4行,因为最大值是10
#define COLS 5 // 每行可以容纳的最大数字个数
int main() {
int arr[ROWS][COLS];
srand(time(0)); // 设置随机种子
int count_even = 0;
int count_odd = 0;
for (int i = 0; i < ROWS; i++) { // 行
for (int j = 0; j < COLS / 2; j++) { // 偶数位置
arr[i][j] = rand() % 10 + 1; // 随机生成1到10的整数
if (arr[i][j] % 2 == 0) {
count_even++;
}
}
for (int k = COLS / 2; k < COLS; k++) { // 奇数位置
arr[i][k] = rand() % 10 + 1;
if (arr[i][k] % 2 != 0) {
count_odd++;
}
}
}
printf("Array:\n");
for (int i = 0; i < ROWS; i++) {
for (int j = 0; j < COLS; j++) {
printf("%d ", arr[i][j]);
}
printf("\n");
}
printf("Number of even numbers: %d\n", count_even);
printf("Number of odd numbers: %d\n", count_odd);
return 0;
}
```
这段代码会生成一个4x5的二维数组,其中前两列存储偶数,后两列存储奇数。注意,由于每个数字都是从1到10随机选择的,所以偶数和奇数的数量可能会有所不同。
阅读全文