使用c语言编程,编写程序,从键盘上输入两个正整数m和n(1<m<n),计算[m,n]区间内所有素数的和。
时间: 2023-12-10 10:39:22 浏览: 105
以下是用C语言编写的程序,可以实现输入两个正整数m和n(1<m<n),计算[m,n]区间内所有素数的和的功能:
```c
#include <stdio.h>
int isPrime(int num) { // 判断素数的函数
int i;
if (num <= 1) {
return 0;
}
for (i = 2; i < num; i++) {
if (num % i == 0) {
return 0;
}
}
return 1;
}
int main() {
int m, n, i, sum = 0;
printf("请输入两个正整数m和n(1<m<n):");
scanf("%d %d", &m, &n);
for (i = m; i <= n; i++) {
if (isPrime(i)) {
sum += i;
}
}
printf("[%d,%d]区间内所有素数的和为:%d\n", m, n, sum);
return 0;
}
```
程序流程如下:
1. 首先定义一个函数 `isPrime`,用于判断一个数是否为素数。如果是素数,返回1;否则,返回0。
2. 在 `main` 函数中,首先定义变量 `m` 和 `n`,并从键盘上输入两个正整数。
3. 接着,用 `for` 循环遍历 [m,n] 区间内的所有整数,对于每个整数,调用 `isPrime` 函数判断是否为素数,如果是素数,累加到变量 `sum` 中。
4. 循环结束后,输出 [m,n] 区间内所有素数的和。
注意:本程序中,判断素数的算法是最基本的暴力算法,对于较大的数可能会比较耗时。如果需要处理更大的数据,可以使用更高效的素数判定算法。