输入一个整数n,输出数列1+1/3+1/5+……前n项的和。
输入:3
输出:1.53
#include<stdio.h>
int main()
{
int i=1,n;
double sum;
double s=0;
scanf("%d",&n);
while (i<=n) //while循环当i不大于n的情况下sum的取值将一直累加下去
{
sum=1.0/(2*i-1);//*1.0是为了把int型改为浮点型,如果sum=1/(2*i-1)*1.0虽然最终也改为
浮点型但是输出结果会出现错误,因为计算是从左向右进行的也就导致
了是先进行了整形运算,得出结果后又*1.0再将整型结果改为了浮点 型,
在整型运算时结果会舍去小数位导致结果偏小。
s=s+sum;
i++;
}
printf("%.2f\n",s);
return 0;
}
#include<stdio.h>
int main()
{
int i=1,n;
double sum;
double s=0;
scanf("%d",&n);
while (i<=n)
{
sum=1.0/(2*i-1);
s=s+sum;
i++;
}
printf("%.2f\n",s);
return 0;
}