c语言输入正整数n,输出[2, n]中的素数个数
时间: 2024-12-11 14:23:01 浏览: 52
在C语言中,你可以通过以下几个步骤编写一个程序来计算从2到n之间的素数个数:
1. **函数声明**:首先,我们需要一个函数`countPrimes(int n)`来接受一个正整数n作为参数,并返回该范围内素数的数量。
```c
int countPrimes(int n);
```
2. **判断素数**:创建一个辅助函数`isPrime(int num)`,用于检查给定的数字是否是素数。这通常通过检查除1和自身外是否有其他因子完成。
```c
int isPrime(int num) {
if (num <= 1) return 0; // 1不是素数
for (int i = 2; i * i <= num; i++) { // 只需检查到根号n即可
if (num % i == 0)
return 0;
}
return 1; // 如果没有找到因子,那么它是素数
}
```
3. **主函数**:在主函数`main()`里,获取用户输入的n,然后调用`countPrimes()`函数并打印结果。
```c
#include <stdio.h>
int main() {
int n;
printf("请输入一个正整数: ");
scanf("%d", &n);
int primeCount = countPrimes(n);
printf("从2到%d之间的素数有: %d\n", n, primeCount);
return 0;
}
// 定义countPrimes函数
int countPrimes(int n) {
int count = 0;
for (int i = 2; i <= n; i++) {
if (isPrime(i))
count++;
}
return count;
}
```
当你运行这个程序,它会提示用户输入一个正整数,然后计算并输出该范围内的素数个数。
阅读全文
相关推荐
















