问题 问答题

试编写函数fun(),其功能是计算并输出n(包括n)以内能被5或9整除的所有自然数的倒数之和。
例如,在主函数中从键盘给n输入20后,输出为s=0.583333。
注意:要求n的值不大于100。
#include<stdio.h>
double fun(int n)


main()
int n;double s;
printf("\nInput n:");scanf("%d",&n);
s=fun(n);
printf("\n\ns=%f\n",s);

答案

参考答案:int i;
double sum=0.0;
for(i=1;i<=n;i++)
if(i%5==0||i%9==0)/*被5或9整除*/
sum+=1.0/i;
return sum;

解析: 该程序的功能是计算并输出n(包括n)以内能被5或9整除的所有自然数的倒数之和。解题过程中,首先要求出能被5或9整除的所有自然数,然后在此基础上求得这些数的倒数之和。
(1)通过循环判断小于等于n的每一个整数是否符合题干中的要求。其中的判断条件“能否被5或9整除”为i%5==0||i%9==0。
(2)求得符合(1)要求的数的倒数的累加和。
[考点] 逻辑关系,运算符。

单项选择题 A1/A2型题
单项选择题