c语言统计素数并求和 输入2个正整数m 和n(1<=m,n<=500),统计并输出m 和n 之间的素数的个数以及这些素数的和(素数就是只能被1 和自身整除的正整数,1 不是素数,2 是素数)。要求定义并调用函数prime(m)判断m 是否为素数。
时间: 2024-04-30 07:22:01 浏览: 118
以下是实现该功能的C语言代码:
```c
#include <stdio.h>
int prime(int m) {
int i;
for (i = 2; i < m; i++) {
if (m % i == 0) {
return 0; // m不是素数,返回0
}
}
return 1; // m是素数,返回1
}
int main() {
int m, n, count = 0, sum = 0;
printf("请输入两个正整数m和n(1<=m,n<=500):\n");
scanf("%d%d", &m, &n);
if (m > n) {
int temp = m;
m = n;
n = temp;
}
printf("%d到%d之间的素数有:\n", m, n);
for (int i = m; i <= n; i++) {
if (prime(i)) {
printf("%d ", i);
count++;
sum += i;
}
}
printf("\n素数的个数为:%d\n", count);
printf("素数的和为:%d\n", sum);
return 0;
}
```
该程序中,prime函数用于判断一个整数是否为素数,如果是素数则返回1,否则返回0。main函数中,首先读入输入的两个正整数m和n,然后判断m和n的大小关系,如果m比n大,则交换m和n的值。接着使用for循环从m遍历到n,对每个数调用prime函数判断是否为素数,如果是素数,则累加素数的个数和素数的和。最后输出素数的个数和素数的和。
阅读全文