问答题 请编写函数fun,该函数的功能是:计算并输出n(包括n)以内所有能被5或9整除的自然数的倒数之和。
例如,若主函数中从键盘给n输入20后,则输出为S=0.583333。
注意:n的值要求不大于100。部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
试题程序:
#include<stdio.h>
double fun(int n)
{
}
main()
{
int n;
double s;
printf("/nInput n:");
scanf("%d",&n);
s=fun(n);
printf("/n/n S=%f/n",s);
}
【正确答案】
【答案解析】double fun(int n)
{
int i;
double sum=0.0;
for(i=1;i<=n;i++)
if(i%5==0||i%9==0)
sum+=1.0/i;
return sum;
} [解析] 本程序中循环语句用来遍历n以内的所有自然数,条件语句用来判断该数是否能被5或9整除,注意此处判断条件中应使用逻辑或"||"运算符。变量sum累加符合要求的数的倒数和。