c语言自练,OJ系统第二十四题。
题目描述
本题要求编写程序,计算序列 1 + 1/2 + 1/3 + ... 的前N项之和。
输入
输入在一行中给出一个正整数N。
输出
在一行中按照“sum = S”的格式输出部分和的值S,精确到小数点后6位。题目保证计算结果不超过双精度范围。
样例输入
6
样例输出
sum = 2.450000
这里提一嘴定义浮点数,double,float定义浮点数不做改动自动保留6位,所以我们正常输出%f或者%lf即可。
注意,出现除法数学运算,记得加.0,例如1.0(如下)
原因:浮点数除以整数才能是浮点数,如果你写1/i,由于1是整数,i是整数,会得到整数,而我们需要的是浮点数!
#include<stdio.h>
int main()
{
int i, n;
double sum = 0;
scanf("%d", &n);
for (i = 1; i <= n; i++)
{
sum = sum + 1.0 / i;
}
printf("sum = %lf", sum);
return 0;
}