1/1 【程序设计】 题目:请编写函数fun,该函数的功能是:计 算并输出n(包括m)以内所有素数的平方根之 和。 例如:若主函数中从键盘给输入20后,则输出为 sum=22.018051。 注意:请勿改动主函数main和其他函数中的 任何内容,仅在函数fun的花括号中填入你编 写的若干语句。double fun(int n)
时间: 2024-03-17 19:47:13 浏览: 64
下面是函数fun的代码实现:
```c
#include <stdio.h>
#include <math.h>
int isPrime(int n) {
int i;
if (n <= 1) return 0;
for (i = 2; i <= sqrt(n); i++) {
if (n % i == 0) return 0;
}
return 1;
}
double fun(int n) {
int i;
double sum = 0;
for (i = 2; i <= n; i++) {
if (isPrime(i)) {
sum += sqrt(i);
}
}
return sum;
}
int main() {
int n;
double sum;
printf("请输入n:");
scanf("%d", &n);
sum = fun(n);
printf("sum=%.6lf\n", sum);
return 0;
}
```
函数isPrime用于判断一个数是否为素数,如果是则返回1,否则返回0。
函数fun的参数为n,函数内部利用for循环遍历2到n之间的每一个数,如果该数是素数则将其平方根加入到sum中。最终的结果返回给主函数。
注意:本题目与之前的题目有所不同,参数只有一个,且函数名为fun(int n),而不是void fun(int m, int n, double *sum)。
阅读全文