用c语言将200以内的所有素数存放到一维数组中并输出
时间: 2023-11-26 21:55:14 浏览: 38
好的,下面是解答:
```c
#include <stdio.h>
int main()
{
int max_num = 200;
int prime[100] = {0}; // 假设200以内最多有100个素数
int count = 0; // 统计素数的数量
for (int num = 2; num <= max_num; num++) {
int is_prime = 1;
for (int i = 2; i < num; i++) {
if (num % i == 0) {
is_prime = 0;
break;
}
}
if (is_prime) {
prime[count++] = num;
}
}
printf("200以内的素数有:");
for (int i = 0; i < count; i++) {
printf("%d ", prime[i]);
}
printf("\n");
return 0;
}
```
这是一个比较基础的素数筛法,具体思路如下:
1. 首先,假设200以内最多有100个素数,我们定义一个长度为100的一维数组 `prime[]` 来存放这些素数,同时定义 `count` 来记录素数的个数,初值为0。
2. 然后从2开始循环到200,对于每个数,判断它是否为素数。
3. 判断素数的方法是,从2开始循环到该数 `num` 的平方根,如果存在一个数能够整除 `num`,那么 `num` 就不是素数。如果循环完毕之后仍然没有找到这样的数,那么 `num` 就是素数。
4. 如果 `num` 是素数,将其存放在 `prime` 数组中,并将 `count` 的值加1。
5. 最后,依次输出 `prime` 数组中存放的素数。
希望能帮到你!