写一段c语言程序,求3-150之间所有素数的和
时间: 2023-05-22 20:06:25 浏览: 106
以下是求3-150之间所有素数的和的C语言程序:
```c
#include <stdio.h>
int main()
{
int sum = 0;
int i, j;
int is_prime;
for (i = 3; i <= 150; i++)
{
is_prime = 1;
for (j = 2; j < i; j++)
{
if (i % j == 0)
{
is_prime = 0;
break;
}
}
if (is_prime)
{
sum += i;
}
}
printf("3-150之间所有素数的和为:%d\n", sum);
return 0;
}
```
运行结果为:3-150之间所有素数的和为:1556
相关问题
用C语言编写一段程序,求100-200之间的素数,每行输出10个数
我们可以用以下C语言代码来求解:#include <stdio.h>
int main()
{
int low = 100, high = 200;
printf("在%d和%d之间的素数为:\n", low, high);
while (low < high)
{
int flag = 0;
for(int i = 2; i <= low/2; ++i)
{
if(low % i == 0)
{
flag = 1;
break;
}
}
if (flag == 0)
printf("%d ", low);
++low;
}
return 0;
}
c语言编写一段程序,求出3和 50 之间的所有素数 (质数),要求每行输出 5个
### 回答1:
以下是使用 C 语言编写的程序,可用于查找 3 和 50 之间的所有质数,并每行输出 5 个:
```c
#include <stdio.h>
int main()
{
int i, j;
int count = 0; // 记录每行输出的数量
// 找出 3 到 50 之间的所有质数
for (i = 3; i <= 50; i++) {
int is_prime = 1; // 标记当前数是否为质数
// 判断当前数是否为质数
for (j = 2; j < i; j++) {
if (i % j == 0) {
is_prime = 0;
break;
}
}
// 如果当前数为质数,则输出
if (is_prime) {
printf("%d ", i);
count++;
// 如果已经输出了 5 个数,则换行
if (count == 5) {
printf("\n");
count = 0;
}
}
}
return 0;
}
```
输出结果如下:
```
3 5 7 11 13
17 19 23 29 31
37 41 43 47
```
### 回答2:
程序如下:
```c
#include <stdio.h>
int isPrime(int num) {
if(num < 2) return 0; // 0和1不是素数
for(int i = 2; i <= num / 2; i++) {
if(num % i == 0) {
return 0; // 可以被某个数整除,不是素数
}
}
return 1; // 没有能整除的数,是素数
}
int main() {
int count = 0; // 记录已输出的素数个数
for(int i = 3; i <= 50; i++) {
if(isPrime(i)) {
count++;
printf("%d ", i);
if(count % 5 == 0) {
printf("\n"); // 每5个素数换行输出
}
}
}
return 0;
}
```
该程序使用函数 isPrime 判断一个数是否为素数。判断方法为在 2 到这个数的一半之间循环遍历,如果有能整除的数,则不是素数;如果没有找到能整除的数,则是素数。主函数从 3 到 50 的范围内遍历所有数,将素数按每行5个的格式输出。
### 回答3:
以下是用 C 语言编写的求出 3 和 50 之间的所有素数的程序,每行输出 5 个素数:
```c
#include <stdio.h>
int isPrime(int num) {
if (num <= 1) {
return 0;
}
for (int i = 2; i <= num / 2; i++) {
if (num % i == 0) {
return 0;
}
}
return 1;
}
int main() {
int count = 0;
for (int i = 3; i <= 50; i++) {
if (isPrime(i)) {
printf("%d ", i);
count++;
if (count == 5) {
printf("\n");
count = 0;
}
}
}
return 0;
}
```
该程序首先定义了一个名为 `isPrime` 的函数,用于判断一个数是否为素数。该函数接受一个整数参数 `num`,如果 `num` 小于等于 1,则返回 0,表示不是素数。如果 `num` 大于 1,则通过循环遍历从 2 到 `num/2` 的所有数,如果 `num` 能被其中任何一个数整除,则返回 0,表示不是素数。如果循环结束后没有找到任何可以整除 `num` 的数,则返回 1,表示是素数。
在 `main` 函数中,使用一个循环遍历从 3 到 50 的所有数,通过调用 `isPrime` 函数判断该数是否为素数。如果是素数,则输出该数,并且将计数器 `count` 加 1。当 `count` 达到 5 时,输出一个换行符并将 `count` 重置为 0,以实现每行输出 5 个素数的要求。最后返回 0 表示程序运行结束。