改为double fun
时间: 2024-01-09 15:05:31 浏览: 80
[C语言面试笔试]2023精选改错题.doc
好的,以下是改为double类型的函数fun代码实现:
```c
#include <stdio.h>
#include <math.h>
int prime(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.0;
for (i = 2; i <= n; i++)
{
if (prime(i)) sum += sqrt(i);
}
return sum;
}
int main()
{
int n;
double sum;
scanf("%d", &n);
sum = fun(n);
printf("sum=%.6lf\n", sum);
return 0;
}
```
函数`fun`的返回值类型改为`double`,在计算素数平方根之和时使用`double`类型的变量`sum`。
在主函数`main`中,使用`%lf`输出`double`类型的变量`sum`。
阅读全文