请补充函数fun(),它的功能是:计算并输出n(包括n)以内能被3或7整除的所有自然数的倒数之和。 例如,在主函数中从键盘给n输入32后,输出为:s=1.226323。 注意:部分源程序给出如下。 请勿改动主函数main和其他函数中的任何

admin2010-05-05  46

问题 请补充函数fun(),它的功能是:计算并输出n(包括n)以内能被3或7整除的所有自然数的倒数之和。
   例如,在主函数中从键盘给n输入32后,输出为:s=1.226323。
   注意:部分源程序给出如下。
   请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。
   试题程序:
   #include<stdio.h>
   double fun(int n)
   {
      int i;
      double sum=0.0;
      if (n>0&&n<=100)
      {
           for(i=1;【  】;i++)
               if(【  】)
                     sum+=【  】;
      }
       return sum;
   }

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

选项

答案i<=n i%3==0||i%7==0 1.0/i或1/(double)i

解析 第一空:本题要求找出n(包括n)以内满足条件的自然数,所以,i的取值范围是从1到n。第二空:i能被3整除,也就是指,i除以3的余数为0。题中的条件是能被3或7整除,所以使用“或运算符||”。第三空:需要注意,如果’/’运算符两边都是整型数,则结果也是整型数。因为i为整型数,如果将i的倒数写为1/i,则结果为0,所以在求倒数时,要使用1.0,而不是1,或者将变量i强制类型转化为double型。
转载请注明原文地址:https://jikaoti.com/ti/DSkiFFFM
0

最新回复(0)