c语言编程问题?

来源:百度知道 编辑:UC知道 时间:2024/05/26 19:37:53
当m的值为50时,计算下列公式的值: T=1-1/2-1/3-1/4-…-1/m
要求:按四舍五入的方式精确到小数点后第四位。
C++编译器显示有一个错误啊

#include<stdio.h>
#include<stdlib.h>
#include<math.h>
int main()
{ float m=1;
int i;
for(i=2;i<50;i++)
{
m-=(float)1/i;
}
printf("m=%.4f",m+0.00005);
system("pause");
}

运行结果为-2.4792

写主要的实现部分:
int main()
{
float T = 1;
int a;
for(int i =2; i <= 50; i++)
{
T = T - 1/i;
}
a = (int)(T*10000);
T = (float)(a/10000);
return 0;
}