产生50个1~100的随机整数,并将其中的偶数保存到一个数组中
时间: 2024-09-11 21:06:23 浏览: 21
首先,我将提供一个C语言程序的示例,该程序将完成以下任务:
1. 产生50个1到100之间的随机整数。
2. 检查这些数是否为偶数。
3. 如果是偶数,则将它们保存到一个数组中。
请参阅以下代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define SIZE 50
#define MAX_VALUE 100
int main() {
int evenNumbers[SIZE];
int evenCount = 0; // 用于记录偶数的数量
// 初始化随机数生成器的种子
srand((unsigned int)time(NULL));
// 生成随机数并检查偶数
for (int i = 0; i < SIZE; ++i) {
int randomNumber = rand() % MAX_VALUE + 1; // 生成1到100之间的随机数
if (randomNumber % 2 == 0) { // 如果是偶数
evenNumbers[evenCount++] = randomNumber; // 存储偶数并增加计数
}
}
// 打印偶数
printf("Even numbers:\n");
for (int i = 0; i < evenCount; ++i) {
printf("%d ", evenNumbers[i]);
}
printf("\n");
return 0;
}
```
解释:
1. `#include <stdio.h>`, `#include <stdlib.h>`, 和 `#include <time.h>` 是包含标准库的头文件,分别用于标准输入输出、随机数生成和时间函数。
2. `#define SIZE 50` 定义了一个宏,表示要生成的随机数的数量。
3. `#define MAX_VALUE 100` 定义了一个宏,表示随机数的最大值(包含100)。
4. `srand((unsigned int)time(NULL));` 用于初始化随机数生成器的种子,确保每次运行程序时生成的随机数序列都不同。
5. 循环 `for (int i = 0; i < SIZE; ++i)` 用于生成50个随机数,并检查它们是否为偶数。
6. `rand() % MAX_VALUE + 1` 生成一个1到100之间的随机数。
7. `if (randomNumber % 2 == 0)` 检查生成的随机数是否为偶数。
8. 如果是偶数,则将其添加到 `evenNumbers` 数组中,并增加 `evenCount` 计数器。
9. 最后,使用一个循环遍历 `evenNumbers` 数组并打印出所有偶数。