请编写函数fun,其功能是:计算并输出3~n之间所有素数的平方根之和。 例如,若主函数从键盘给n输入100后,则输出为sum=148.874270。 注意:n的值要大于2但不大于100。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中

admin2019-04-14  21

问题 请编写函数fun,其功能是:计算并输出3~n之间所有素数的平方根之和。
例如,若主函数从键盘给n输入100后,则输出为sum=148.874270。
注意:n的值要大于2但不大于100。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
试题程序:
#include <stdio.h>
#include <math.h>
double fun(int n)
{

}
main()
{
int n;
double sum;
FILE *out;
printf(″Input n=″);
scanf(″%d″,&n);
sum=fun(n);
printf(″\nsum=%f\n″,sum);
/* * * * * * * * * * * * * * * */
out=fopen(″out.dat″,″w″);
fprintf(out,″%f\n″,fun(180));
fclose(out);
/* * * * * * * * * * * * * * * */
}

选项

答案double fun(int n) { int m,k,i; double s=0.0; for(m=3;m< =n;m+ +) { k=sqrt(m); for(i=2;i< =k;i+ +) if(m%i= =0)break; if(i> =k+1) s+ =sqrt(m); } return s; }

解析 本题考查:素数的判定方法及求平方根函数sqrt的使用。
首先确定n的范围,然后确定循环条件,最后根据素数的判定方法确定条件语句。
转载请注明原文地址:https://kaotiyun.com/show/O9Rp777K
0

最新回复(0)