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

admin2009-02-15  49

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

选项

答案(1)错误:int fun(int m) 正确:double fun(int m) (2) 错误:for(i=1;i<m;i++) 正确:for(i=2;i<=m;i++

解析 错误1:函数的返回值为实型数,所以应定义为double类型。错误2:根据题目的公式,参加运算的数应从2到m,包括m。
转载请注明原文地址:https://jikaoti.com/ti/QxkiFFFM
0

最新回复(0)