问题 问答题

请编写函数fun,其功能是:计算并输出3到n之间(含3和n)所有素数的平方根之和。

例如,在主函数中从键盘给n输入100后,输出为:sum=148.874270。

注意:要求n的值大于2但不大于100。部分源程序给出如下。清勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。

[试题源程序]

#include<math.h>

#include<stdio.h>

double fun(int n)

main()

int n;

double sum;

printf("\n\nInput n:");

scanf("%d",&n);

sum=fun(n);

printf("\n\nsum=%f\n\n",sum);

答案

参考答案:

double fun(int n)

{

int i,j=0;

double s=0;

for(i=3;i<=n;i++)

{

for(j=2;j<i;j++)

if(i%j==0)

break;

if(j == i)

s=s+sqrt(i);

}

return s;

}

解析:

本题是计算并输出3到n之间(含3和n)所有素数的平方根之和。要求能掌握sqrt()函数的用法。

综合
单项选择题