用c 语言写程序:在函数Func中实现功能:计算不大于n的素数的个数,并返回结果
时间: 2024-02-21 15:01:27 浏览: 76
以下是用C语言实现计算不大于n的素数个数的程序:
```c
#include <stdio.h>
#include <math.h>
int Func(int n) {
int count = 0;
int i, j;
for (i = 2; i <= n; i++) {
int isPrime = 1; // 假设 i 是素数
for (j = 2; j <= sqrt(i); j++) {
if (i % j == 0) { // 如果 i 能被 j 整除
isPrime = 0; // i 不是素数
break;
}
}
if (isPrime) { // 如果 i 是素数
count++; // 素数个数加1
}
}
return count;
}
int main() {
int n;
printf("请输入一个正整数n:");
scanf("%d", &n);
int count = Func(n);
printf("不大于%d的素数个数为:%d\n", n, count);
return 0;
}
```
程序运行时,会提示用户输入一个正整数n,然后调用函数Func计算不大于n的素数个数,并将结果输出。
在函数Func中,首先定义一个计数器count,用于记录不大于n的素数个数。然后从2开始遍历到n,判断每个数是否为素数。判断素数的方法是,假设当前数i是素数,然后从2到sqrt(i)遍历,如果i能被其中任何一个数整除,那么i就不是素数,将isPrime置为0。如果isPrime仍为1,说明i是素数,count加1。最后返回count即可。
注意,这里用到了sqrt函数,需要包含math.h头文件。
阅读全文