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

​例如:若主函数从键盘给m输入50后,则输出为s=63.665791。​​​​请勿改动主函数main与其它函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。​

代码如下:

#include<math.h>
#include<stdio.h>
double fun(int m)
{
int n,k,i;
double sum=0.0;
for(n=3;n<=m;n++)
{
k=sqrt(n);
for(i=2;i<=k;i++)
if(n%i==0) break;
if(i>=k+1)
sum+=sqrt(n);
}
return sum;
}
main()
{
int m;
double s;
FILE*out;
printf("\n\nInput m:");
scanf("%d",&m);
s=fun(m);
printf("\n\ns=%f\n\n",s);
out=fopen("outfile.dat","w");
for(m=0;m<10;m++)
fprintf(out,"%f\n",fun(m+80));
fclose(out);
}

输出运行窗口如下:

C语言编程>第十五周 ⑧ 请编写函数fun,其功能是:计算并输出3到m之间所有素数的平方根之和。_c语言


本周其他练习

​​C语言程序设计专栏​​

​​C语言编程>第十五周 ① 请编写函数fun,其功能是计算并输出下列多项式的值:​​

​​C语言编程>第十五周 ② 请编写函数fun,它的功能是计算:F= ,F作为函数值返回。在C语言中可调用log(n)函数求In(n),log函数的引用说明是:​​

​​C语言编程>第十五周 ③ 请编写函数fun,该函数的功能是:将M行N列的二维数组中的字符数据,按列的顺序依次放到一个字符串中。​​

​​C语言编程>第十五周 ④ 编写一个函数,从传入的num个字符串中找出最短的一个字符串,传回该串地址(用 “*”作为结束输入的标志)。​​

​​C语言编程>第十五周 ⑤ 假定输入的字符串中只包含字母和 “#”号,请编写函数fun,它的功能是:除了字符串前导的 “#”号之外,将串中其他“#”号全部删除。​​

​​C语言编程>第十五周 ⑥ 编写一个函数,该函数可以统计一个长度为3的字符串在另一个字符串中出现的次数。​​

​​C语言编程>第十五周 ⑦ 编写一个函数,从传入的num个字符串中找出最短的一个字符串,传回该串地址(用 “*”作为结束输入的标志)。​​

​​C语言编程>第十五周 ⑧ 请编写函数fun,其功能是:计算并输出3到m之间所有素数的平方根之和。​​

越努力越幸运!​​
​​加油,奥力给!!!