所属年份:2011.3
请编写函数fun,该函数的功能是:计算并输出n(包括n)以内所有能被5或9整除的自然数的倒数之和。
例如,若主函数中从键盘给n输入20后,则输出为S= 0.583333。
#include <stdio.h> double fun(int n) { } int main() { int n; double s; FILE *out; printf("\nInput n:"); scanf("%d",&n); s=fun(n); printf("\n\ns=%f\n",s); /******************************/ out=fopen("out.dat","w"); fprintf(out,"%f\n",fun(30)); fclose(out); /******************************/ return 0; }
【解题思路】
本程序中循环语句用来遍历n以内的所有自然数,条件语句用来判断该数是否能被5或9整除,注意此处判断条件中应使用逻辑或”||”运算符。变量sum累加符合要求的数的倒数和。
【参考答案】
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; }