给定程序中函数fun的功能是:根据整型形参m,计算如下公式的值。 例如,若m中的值为:5,则应输出:1.46361 1。请改正程序中的错误,使它能得到正确结果。 注意: 不要改动main函数,不得增行或删行,也不得更改程序的结构。

admin2021-06-15  60

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

    例如,若m中的值为:5,则应输出:1.46361 1。请改正程序中的错误,使它能得到正确结果。
    注意:
    不要改动main函数,不得增行或删行,也不得更改程序的结构。
    【试题源程序】
    #include
    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%If\n",fun(n));
}

选项

答案(1)错误:for(i-2;i<m;i++) 正确:for(i=2;i<=m;i++) (2)错误:y+=1/(i*i) 正确:y+=1.0/(i*i)

解析 错误(1):使用for循环计算公式取到m时,最后一次循环应该等于m,所以i<m应改为i<=m。
错误(2):在除法运算中,如果除数和被除数都是整数,那么所除结果也是整数,因此需要对结果进行强制转换或者将除数或被除数其中一个整型常量变为浮点型常量。
转载请注明原文地址:https://jikaoti.com/ti/9Lz0FFFM
0

相关试题推荐
最新回复(0)