c语言输出m到n之间的所有素数,每行5个,并求和
时间: 2024-10-06 13:03:44 浏览: 80
在C语言中,我们可以使用嵌套循环和条件判断来输出m到n之间的所有素数,并按照每行打印5个的要求分组。同时,我们会维护一个变量来计算素数的总和。以下是实现这一功能的一个示例:
```c
#include <stdio.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 print_primes(int m, int n) {
int sum = 0; // 计算素数总和
for (int i = m; i <= n; ++i) {
if (is_prime(i)) {
printf("%d ", i);
sum += i; // 累加素数
}
if ((i - m + 1) % 5 == 0 || i == n) { // 按每行5个输出,结束条件包括达到n或剩余不足5个
printf("\n");
}
}
printf("\nThe sum of primes from %d to %d is: %d\n", m, n, sum);
}
int main() {
int m = 5, n = 30; // 输入范围,这里以5到30为例
print_primes(m, n);
return 0;
}
```
在这个程序里,`is_prime()`函数用于检查一个数是否是素数,`print_primes()`函数负责循环遍历并按需输出和累加素数。
阅读全文