问题 问答题

给定程序中函数fun的功能是:根据整型形参m,计算如下公式的值。

例如,若m中的值为5,则应输出:1.463611。

请改正程序中的错误,使它能得到正确结果。

[注意] 不要改动main函数,不得增行或删行,也不得更改程序的结构。

[试题源程序]

#include<stdi0.h>

double fun(int m)

double y=1.0;

int i;

/*************found*************/

for(i=2; i<m; i++)

/*************found*************/

y+=1/(i*i);

return(y);

main()

int n=5;

printf("\nThe result is%1f\n",fun(n));

答案

参考答案:

(1)错误:for(i=2; i<m; i++)

正确:for(i=2; i<=m; i++)

(2)错误:y+=1/(i*i)

正确:y+=1./(i*i)

错误2:在除法运算中,如果除数和被除数都是整数,所以所除结果也是整数,因此应改为y+=1./(i*i)。

解析:

错误1:由C语言的基础知识可以知道,使用for循环计算公式,必须计算到m,所以应改为for(i=2;i<=m; i++)。

单项选择题 B1型题
判断题