下列给定程序中,fun函数的功能是:根据形参m,计算下列公式的值。 t=1+1/2+1/3+1/4+…+1/m 例如,若输入5,则应输出2.283333。 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动main函

admin2021-02-25  18

问题  下列给定程序中,fun函数的功能是:根据形参m,计算下列公式的值。
    t=1+1/2+1/3+1/4+…+1/m
    例如,若输入5,则应输出2.283333。
    请改正程序中的错误,使它能得出正确的结果。
    注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
    试题程序:
    #include<stdlib.h>
    #include<conio.h>
    #include<stdio.h>
    double fun(int m)
    {
    double t=1.0;int i;
    for(i=2;i<=m;i++)
    /*  *  *  *  *  *found*  *  *  *  *  */
    t+=1.0k:
    |*  *  *  *  *  *found*  *  *  *  *  */
    return i;
    }
    void main()
    {
    int m;
    system("CLS"):
    printf("Please enter 1integer number:");
    scanf("%d",&m);
    printf("The result is%1f\n",fun(m));
}

选项

答案 (1)t+=1.0/i; (2)return t;

解析 本题考查:for循环语句的循环条件;函数返回值。
    该题目考查分母成等差数列递增的一个数学公式,先看循环条件for(i=2;i<=m;i++),i从2开始递增到m,所以t的值应该是由1.0/i的值逐步循环叠加后的结果,而不是t+=1.0/k;。return i考查对程序的解读能力,当循环结束后(由输入m的值决定),函数返回当前t的值。
转载请注明原文地址:https://kaotiyun.com/show/TEtp777K
0

最新回复(0)