用c语言将200以内的所有素数存放到一维数组中并输出
时间: 2024-01-19 22:49:43 浏览: 57
好的,让我来回答你的问题。以下是 C 语言代码,可以将 200 以内的素数存储在一个一维数组中并输出:
```c
#include <stdio.h>
#define SIZE 50
int main()
{
int primes[SIZE] = { 2, 3 }; // 初始化数组,2 和 3 是已知的素数
int count = 2; // count 记录当前素数的数量
int i, j;
for (i = 5; i <= 200; i += 2) // 从 5 开始遍历奇数,判断是否为素数
{
int isPrime = 1; // 假设当前数是素数
for (j = 0; j < count; j++)
{
if (i % primes[j] == 0) // 如果当前数能够被之前的素数整除,说明不是素数
{
isPrime = 0;
break;
}
}
if (isPrime)
{
primes[count] = i; // 记录当前素数
count++;
}
}
// 输出素数数组
printf("Prime numbers between 1 and 200:\n");
for (i = 0; i < count; i++)
{
printf("%d ", primes[i]);
}
return 0;
}
```
以上代码使用埃拉托斯特尼筛法,遍历 5 到 200 之间的奇数,并逐个判断是否为素数。如果是素数,则将其存入素数数组中,并且记录素数数量。最后使用一个循环输出素数数组中的所有素数。
希望这个答案能够帮到你。
阅读全文