问答题 请编写函数proc(),它的功能是计算:
s=(1-ln(1)-ln(2)-ln(3)-…-ln(m))2
s作为函数值返回。
在C语言中可调用log(n)函数求ln(n)。log函数的引用说明是double log(double x)。
例如,若m的值为10,则proc()函数值为198.934454。
注意:部分源程序给出如下。
请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的花括号中填入所编写的若干语句。
试题程序:
#include<stdlib.h>
#include<conio.h>
#include<stdio.h>
#include<math.h>
double proc(int m)
{
}
void main()
{
system("CLS");
printf("%f/n",proc(10));
}
【正确答案】
【答案解析】double proc(int m)
{
int i;
double s=1.0;//s的初值赋为1
for(j=1;i<=m;i++)//从1到m
s=s-log(i); //将其求得的差放到s中
return(s*s); //最后把其平方值返回到主函数中
} [解析] 首先我们应定义一个变量来表示其和,另一个来表示其项数,然后通过循环,求得其差值,最后把和的平方返回到主函数中。