一道c题,编程题

来源:百度知道 编辑:UC知道 时间:2024/05/31 12:04:12
请编写函数fun,其功能是:计算并输入3到n之间所有素数的平方根之和。
例如,在主函数中从键盘给n输入100后,输出为:sum=148.874270。
注意:要求n的值大于2但不大于100。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的话括号中填入你编写的若干语句。
#include <math.h>
#include <stdio.h>
double fun(int n)
{

}
NONO()
{/* 请在此函数内打开文件,输入测试数据,调用 fun 函数,输出数据,关闭文件。 */
FILE *rf, *wf ; int n, i ; double s ;
rf = fopen("bc.in", "r") ;
wf = fopen("bc.out", "w") ;
for(i = 0 ; i < 10 ; i++) {
fscanf(rf, "%d", &n) ;
s = fun(n) ;
fprintf(wf, "%lf\n", s) ;
}
fclose(rf) ; fclose(wf) ;
}
main()
{ int n; double sum;
printf("\n\nInput n: "); scanf("%d",&n);
sum=fun(n);
printf("\n\nsum=%f\n\n",sum);
NONO();
}

#include <math.h>
#include <stdio.h>

double fun(int n)
{
int i,m,r;
double sum;
m=2;
sum=0;
if(n<2||n>100) return false;
else{

while(m<=n)
{
i=2;
while(i<m)
{
r=m%i;
if(r==0) i=m+1;
else i++;
}
if(i==m) sum=sum+sqrt(m);
m++;
}
return sum;
}

}

void NONO()
{/* 请在此函数内打开文件,输入测试数据,调用 fun 函数,输出数据,关闭文件。 */
FILE *rf, *wf ; int n, i ; double s ;
rf = fopen("bc.in", "r") ;
wf = fopen("bc.out", "w") ;