请编写函数fun,它的功能是:计算并输出n(包括n)以内能被5或9整除的所有自然数的倒数之和。 例如,在主函数中从键盘给n输入20后,输出为:s=0.583333。 注意:要求n的值不大于100。 部分源程序在文件PROG1.C中。

admin2020-10-26  27

问题 请编写函数fun,它的功能是:计算并输出n(包括n)以内能被5或9整除的所有自然数的倒数之和。
    例如,在主函数中从键盘给n输入20后,输出为:s=0.583333。
    注意:要求n的值不大于100。
    部分源程序在文件PROG1.C中。
    请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
1  #include<stdio.h>
2   double fun(int n)
3  {
4
5  }
6  NONO()
7  {/*请在此函数内打开文件,输入测试数据,调用fun函数,输出数据,关闭文件。*/
8   FILE *rf  *wf;int n,i;double s;
9   rf=fopen(’’in.dat’’,’’r’’);
10  wf=fopen(’’out.dat’’,’’w’’);
11   for(i=0;i<10 ; i++) {
12   fscanf(rf,’’%d’’,&n);
13   s=fun(n);
14   fprintf(wf,’’%if\n’’,s);
15   }
16   fclose(rf);fclose(wf);
17   }
18  main()
19   {  int n;double s;
20   printf(’’\nInput n:’’);scanf(’’%d’’,&n);
21  s=fun(n);
22   printf(’’\n\ns=%f\n’’,s);
23  NONO();}

选项

答案1 int i; 2 double sum=0.0; 3 for(i=1; i<=n; i++) 4 if(i%5==0 ‖ i%9==0)/*被5或9整除*/ 5 sum+=1.0/i; 6 return sum;

解析 程序功能是计算并输出n(包括力)以内能被5或9整除的所有自然数的倒数之和。
    (1)首先,通过循环,判断小于等于n的每一个整数是否符合题干中的要求。其中的判断条件能否被5或者被9整除为:i%5==0‖i%9==0。
    (2)然后求得符合(1)要求的数的倒数的累加和。
转载请注明原文地址:https://kaotiyun.com/show/ID3p777K
0

最新回复(0)