1+1/2+1/3+......+1/100用C语言编程不知对否,帮忙看下,有没有更好的方法?

# include <stdio.h>
void main ()
{
int n,m;
float i;
n=1;
m=0;
i=0;
while (n<=100)
{
m=1/n;
n++;
i+=m;
}
printf("%f",i);
}

肯定不对啊。。
这样
#include<stdio.h>
int main()
{
int i;
float res=0;
for(i=1;i<=100;i++)
{
res+=1.0/i;
}
printf("%.2f\n",res);
return 0;
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-10-22
楼主注意,程序中M不为int,有小数计算,应该是float或double,在m=1.0/n,因该用1.0其他的没什么问题.小数多的话在输出是最好加上 .2 表示取两位小数.
# include <stdio.h>
void main ()
{
int n;
float i,m;
n=1;
m=0;
i=0;
while (n<=100)
{
m=1.0/n;
n++;
i+=m;
}
printf("%.2f",i);
}
相似回答