请编写函数countValue(),它的功能是:求n以内(不包括n)同时能被3与7整除的所有自然数之和的平方根s,并作为函数值返回,最后结果s输出到文件OUT11.DAT中。 例如,若n为1000时,函数值应为s=153.909064。 注意:

admin2009-02-19  41

问题 请编写函数countValue(),它的功能是:求n以内(不包括n)同时能被3与7整除的所有自然数之和的平方根s,并作为函数值返回,最后结果s输出到文件OUT11.DAT中。
   例如,若n为1000时,函数值应为s=153.909064。
   注意:部分源程序已给出。
   请勿改动主函数main()和输入输出函数progReadWrite()的内容。
   试题程序:
      #include<conio.h>
      #include<math.h>
      #include<stdio.h>
      double countValue(int n)
      {
      }
      main ( )
      {
            clrscr();
             printf ("自然数之和的平方根=%f\n", countValue(lO00)) ;
             pregReadWrite();
     }
     pregReadWrite()
     {
            FILE *wf;
            int i,  n;
            float  s;
            wf = fepen("OUT11.DAT",  "w");
            s = ceuntValue(1000);
            fprintf(wf,  "%f\n",  s);
            fclese(wf);
     }

选项

答案double countValue(int n) { double xy=0.0; int i; for(i=1;i<n;i++) if(i%3==0 && i%7==0) xy+=i; /*求n以内(不包括n)同时能被3与7整除的所有自然数之和*/ xy=sqrt((double)xy); /*再对总和求平方根*/ return xy; }

解析 本题的解题思路是:利用一个for循环依次从n个自然数当中取数,对当前取出的数进行条件判断。判断条件为:既能被3整除同时也能被7整除,因此,用“&&”运算符来连接两个条件表达式,当某数满足判断条件时,就把该数累加到变量xy中(xy的初始值为0.0),当所有满足条件的数都被找完后,对累加求得的变量xy的值进行求平方根的计算,并把所求得的结果作为函数值返回。
转载请注明原文地址:https://kaotiyun.com/show/TESZ777K
0

最新回复(0)