2 -1 . 改错题 下列给定程序中,函数fun()的功能是根据整型形参m,计算如下公式的值。 y=1-1/(2×2)+1/(3×3)-1/(4×4)+…+(-1)(m+1)/(m×m) 例如:m中的值为5,则应输出0.838611。 请改正程序中的错误,使它能得到正确结果。 注意:不 要 改 动 main函 数 , 不 得 增 行 或 删 行 , 也 不 得 更 改 程 序 的 结 构 。 试题程序: #include #include double fun(int m) { double y=1.0; /**********************found***********************/ int j=1; int i; for(i=2; i<=m; i++) { j=-1*j; /**********************found***********************/ y+=1/(i * i); } return(y); } main() { int n=5; clrscr(); printf("\nThe result is %lf\n" ,fun(n)); } (1)错误:int j=1; 正确:double j=1.0; (2)错误:y+=1/(i * i); 正确:y+=j/(i * i); 3 -1 . 改错题 下列给定程序中,函数fun的功能是按以下递归公式求函数值。 152)1()(nFunnFun 例如:当给n输入5时,函数值为240;当给n输入3时,函数值为60。 请改正程序中的错误,使它能得到正确结果。 注意:不 要 改 动 main函 数 , 不 得 增 行 或 删 行 , 也 不 得 更 改 程 序 的 结 构 。 试题程序: #include /**********************found***********************/ fun(int n); { int c; /**********************found***********************/ if(n=1) c=15; else c=fun(n-1)*2; return(c); } main() { int n; printf("Enter n:"); scanf("%d",&n); printf("The result :%d\n\n",fun(n)); } 3 -1 . 改错题 (1)错误:fu n(int n); 正确:fu n(int n) (2)错误:if(n=1) 正确:if(n==1) 【解析】错误1:该行是函数的首部,不是一条语句,因此不能以分号结束。 错误2:if后面应该紧跟一个条件判断表达式,若写成"if(n=1)",则说明该表达式的值永远为真,也就是说这个条件永远成立,没有递归执行。 4 -1 . 改错题 下列给定程序中,函数fu n的功能是按以下递归公式求函数值。 152)1()(nFunnFun 例如:当给n输入5时,函数值为240;当给n输入3时,函数值为60。 请改正程序中的错误,使它能得到正确结果。 注意:不 要 改 动 main函 数 , 不 得 增 行...