活动设计题  
    请编写函数fun,它的功能是计算并返回n(包括n)以内能被5或9整除的所有自然数的倒数之和。
    例如,在主函数中从键盘给n输入20后,输出为s=0.583333。
    注意:要求n的值不大于1000部分源程序存放在文件PROG1.c中。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入编写的若干语句。
    给定源程序如下:
#include <stdio.h>
double fun(int  n)
{
}
main()
{ int  n;    double  s;
  void NONO( );
  printf('\nInput n:  ');  scanf('%d',&n);
  s=fun(n);
  printf('\n\ns=%f\n',s);
  NONO();
}
void NONO()
{/* 本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 */
  FILE *rf, *wf ; int n, i ; double s ;
  rf = fopen('..\\in.dat','r') ;
  wf = fopen('..\\out.dat','w') ;
  for(i = 0 ; i < 10 ; i++) {
    fscanf(rf, '%d', &n) ;
    s = fun(n) ;
    fprintf(wf, '%lf\n', s) ;
  }
  fclose(rf) ; fclose(wf) ;
}
 
【正确答案】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累加符合要求数的倒数和。