用c语言创建一个20个元素的素组,里面的数字随机
时间: 2024-09-06 12:01:31 浏览: 33
要在 C 语言中创建一个包含 20 个随机整数的素数组,你需要使用 `<stdio.h>` 和 `<stdlib.h>` 来获取随机数,以及 `stdbool.h` 或 `stdbool.c`(如果你没有标准库支持 bool)来处理布尔值。同时,为了检查素数,你可以编写一个辅助函数 `is_prime()`。以下是一个简单的示例:
```c
#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
// 辅助函数用于检查是否为素数
bool is_prime(int num) {
if (num <= 1)
return false;
for (int i = 2; i * i <= num; i++) {
if (num % i == 0)
return false;
}
return true;
}
// 生成并填充素数组
void generate_prime_array(int size, int* array) {
// 初始化数组为非素数
for (int i = 0; i < size; i++) {
do {
array[i] = rand() % (size * 10); // 随机生成 0 到 size * 10 之间的数
} while (!is_prime(array[i])); // 重复直到找到素数
}
}
int main() {
srand(time(0)); // 设置随机种子,确保每次运行程序得到不同的随机数
int prime_array[20];
generate_prime_array(20, prime_array);
// 打印素数组
printf("20个素数数组:\n");
for (int i = 0; i < 20; i++) {
printf("%d ", prime_array[i]);
}
return 0;
}
```
这个代码首先定义了一个 `is_prime()` 函数来检查一个数是否为素数,然后在 `generate_prime_array()` 函数中生成随机数,直到找到素数为止。主函数里初始化了数组,并打印出来。
阅读全文