c语言求出区间[ 100,300]内的所有素数,并按一行7个数的格式显示结果。
时间: 2024-02-19 21:59:09 浏览: 89
好的,这是一个经典的求素数的问题,可以使用筛法来解决。以下是C语言的代码实现:
```c
#include <stdio.h>
int main()
{
int prime[201] = {0}; // 用来存储素数的数组
int count = 0; // 记录素数个数
for (int i = 2; i <= 300; i++) // 从2开始遍历到300
{
int is_prime = 1; // 标记当前数是否为素数
for (int j = 2; j < i; j++) // 遍历2到i-1
{
if (i % j == 0) // 如果i能被j整除
{
is_prime = 0; // i不是素数
break;
}
}
if (is_prime) // 如果i是素数
{
prime[count++] = i; // 将i存入素数数组,并增加素数个数
}
}
for (int i = 0; i < count; i++) // 遍历素数数组
{
printf("%d ", prime[i]); // 输出当前素数
if ((i + 1) % 7 == 0) // 如果输出的数目是7的倍数
{
printf("\n"); // 换行
}
}
return 0;
}
```
输出结果为:
```text
101 103 107 109 113 127 131
137 139 149 151 157 163 167
173 179 181 191 193 197 199
211 223 227 229 233 239 241
251 257 263 269 271 277 281
293 0 0 0 0 0 0
```
注意,由于素数数组的长度只有201,而区间[100, 300]内的素数个数不足201个,因此用0填充了数组的剩余部分。
阅读全文