问答题 下列给定程序中,函数fun的功能是:传入一个整数m,计算如下公式的值。
t=1/2-1/3-…-1/m
例如,若输入5,则应输出-0.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.0-1/i;
/*******found**********/

void main()

int m;
printf("/nPlease enter 1 integer number:/n");
scanf("%d",&m);
printf("/n/nThe result is%lf/n",
fun(m));


【正确答案】(1)t-=1.0/i;
(2)return t;
【答案解析】[解析] (1)变量t存放公式的和,通过循环语句进行复合运算,因此此处应改为t-=1.0/i;,注意此处应进行变量的类型转换。
(2)循环结束后应将和值返回给主函数。