A-A+
下列给定程序中 函数proc的功能是根据整型形参n 计算如下公式的值: Y=1-1/(22)
问题详情
下列给定程序中,函数proc的功能是根据整型形参n,计算如下公式的值: Y=1-1/(22)+1/(33)-1/(44)+…+(-1)(n+1)/(nn) 例如,n中的值为l0,则应输出0.817962。 请修改程序中的错误,使它能得到正确结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。 试题程序: include<stdlib.h> include<conio.h> include<stdiO h> double proc(int n) { double y=1.0; //****found**** int J=1; . int i; for(i=2;i<=n;i++) { j=-l*j;//****found**** y+=1/(i*i); } return(y); } void main { int n=10: system("CLS"): printf("nThe result is%1fn",proc(n)); } 请帮忙给出正确答案和分析,谢谢!
参考答案
正确答案:
(1)错误:int j=1;正确:double j=1.0;
(2)错误:y+=1/(i*i);正确:y+=j/(i*i);
【解析】由函数proc可知,变量j的作用是控制每一项符号的变化,并且作为运算的分子,应改为double型变量。因此,“int j=1;”应改为“double j=1.0;”。变量y中存放多项式的值,多项式中的每一项符号由变量j决定。因此,“y+=1/(i*i);”应改为“y+=j/(i*i);”。