前言
开启PTA刷题之旅,这个好用是好用就是有的时候错的我一脸懵逼。
( ̄ε(# ̄)☆╰╮( ̄▽ ̄///)脸被打得好痛。不多说,撸起袖子,开干。
正文
#include<stdio.h>
int main(void)
{
int i, n;
double sum;//要用doubel型,不然过大数字无法通过
scanf("%d", &n);
sum=0;
i=1;
for(i=1; i<=n; i++){
sum=sum+1.0/i;//必须要用1.0,不然答案错误
}
printf("sum = %.6f", sum);
return 0;
}
/*第一种解法*/
#include<stdio.h>
int main(void)
{
int i, n;
double sum;
scanf("%d", &n);
sum=0;
i=1;
for(i=1; i <=2*n-1; i+=2){//必须是i <=2*n-1,不是i<n
sum=sum+1.0/i;
}
printf("sum = %.6lf", sum);
return 0;
}
/*第二种解法*/
//for循环,设置了计数器作为循环判断条件
int i, n;
int cnt = 0;//计数器
double sum=0;
scanf("%d", &n);
for (i = 1; cnt < n; i += 2)
{
sum += 1.0 / i;
cnt++;
}
printf("sum = %.6f", sum);