学习目标:90秒内 一气呵成 打完代码,并且运行正确,并且提交正确。
【题意】
输入n(n<=100),求s=1+1/2+1/3+…+1/n (保留5位小数)
当n=3时,s=1+1/2+1/3= 1+0.5 + 0.3333333=1.83333
【输入格式】
一行一个正整数n。
【输出格式】
一行一个实数s (保留5位小数)。
【样例输入】
20
【样例输出】
3.59774
注意:
不能写s = s + 1/i ;
要写s=s+1.0/i
为什么?请看:
【例1】
int a,b,c;
a=1; b=2;
c=a/b;
输出c的值为0,因为整数除整数,得到的值是整数,如果有余数,余数自己消失,比如 11/4 等于2
那么怎样才能让11/4等于3.75呢?
两个要求:
1、11或4,至少其中一个写成11.0或4.0,比如11.0/4,或者 11/4.0,或者 11.0/4.0
2、保留结果的c必须要是double类型(实数类型,也就是可以包容小数的类型)