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

admin2017-02-27  20

问题 请编写函数fun,它的功能是:计算并输出n(包括n)以内能被5或9整除的所有自然数的倒数之和。
    例如,在主函数中从键盘给n输入20后,输出为:
s=0.583333。
    注意:要求n的值不大于100。
    部分源程序在文件PROG1.C中。
    请勿改动主函数mam和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
#include
double  fun (int  n)
{
}
NONO()
{/*请在此函数内打开文件,输入测试数据,调用fun函数,输出数据,关闭文件。  */
  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, "%1f\n", s);
  }
  fclose (rf);  fclose (wf);
}
main()
{int n; double  s;
  printf("\nlnput    n:    ”);
scanf("%d", &n);
  s=fun (n);
  printf ("\n\ns=%f\n",s);
  NONO();
}

选项

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

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

最新回复(0)