问题 问答题

编写函数fun(),它的功能是求n以内(不包括n)同时能被5与11整除的所有自然数之和的平方根s,并作为函数值返回。
例如:n为1000时,函数值应为s=96.979379。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
试题程序:
#include <conio.h>
#include <math.h>
#include <stdio.h>
double fun(int n)
main()

clrscr();
printf("s=%f\n",fun(1000));

答案

参考答案:double fun(int n)
{double s=0.0;
int i;
for(i=0;i<n;i++) /*从0~n中找到既能被5整除同时又能被11整除的数,并将这些数求和*/
if(i%5==0&&i%11==0)
s=s+i;
s=sqrt(s); /*对s求平方根*/
return s;

解析:本题的解题思路是逐个取得从。0-n之间的所有数,对每次取得的数进行条件判断,条件是既能被5整除同时又能被11整除,注意:这两个条件要求同时成立,因此用到了“&&”运算符。满足条件,该数就被累加到s中去,求出所有符合条件的数后,用sqrt()函数(包含于头文件<math.h>中)对s求平方根。

判断题
单项选择题