#include <stdio.h>
int main() {
float n = .0F, H = .0F;
scanf("%f", &n);
do
{
H += 1.0F / n;
}while (--n);
printf("%f", H);
return 0;
} #include <stdio.h>
//分析
//分母每次都为1,分母每一次递增1
//写一个for,每次生成一个数,然后把他们加起来
//第一次sum=0,i=1 sum = sum +1.0/1 =0+1=1此时sum==1
//第二次sum=1,i=2 sum = sum +1.0/2 =1+0.5=1.5
//第三次sum=1.5,i=3 sum =sum+1.0/3 =1.5+0.33
//每次sum都会继承上一次的值
int main()
{
int n =0;
scanf("%d", &n);
int i =0;
double sum = 0;
for(i = 1; i<= n;i++)
{
sum +=1.0/i; //1.0让其不为整型运算
}
printf("%lf",sum);
return 0;
} #include <stdio.h>
int main()
{
// 接收值,初始值为0
double sum = 0;
// 临界值
int n;
while (scanf("%d", &n) != EOF)
{
for (int i = 1; i <= n; i++)
{
sum = sum + 1.0 / i;
}
printf("%.6lf\n", sum);
}
return 0;
}