问题 问答题

简单应用题 编写函数fun(),它的功能是求n以内(不包括n)同时能被3与7整除的所有自然数之和的平方根s,并做为函数值返回。 例如:n为1000时,函数值应为s=153.909064。 注意:部分源程序给出如下。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。 试题程序: #include #include #include doublefun(intn) { main() { clrscr(); printf("s=%f\n",fun(1000)); }

答案

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

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

单项选择题
单项选择题