求N分之一序列前N项和
本题要求编写程序,计算序列 1 + 1/2 + 1/3 + ... 的前N项之和。
输入格式:
输入在一行中给出一个正整数N。
输出格式:
在一行中按照“sum = S”的格式输出部分和的值S,精确到小数点后6位。题目保证计算结果不超过双精度范围。
#include <stdio.h>
int main(){
int n;
scanf("%d", &n);
double sum = 0;
for(int i = 1; i < n + 1; i++){
sum += 1.0 / i;
}
printf("sum = %.6f", sum);
return 0;
}
注意
1、 当被除数和除数均为整型时,结果为整型。如1/2的结果是0,9/2的结果是4
2、当被除数和除数任意一个为浮点数时,结果为浮点数。如1.0/2的结果是0.50000000000000000(double型),9.0/2.0的结果是4.5000000000000000(double型)
3、当除数和被除数都是整数时,运算结果也是整数;如果不能整除,那么就直接丢掉小数部分,只保留整数部分,这跟将小数赋值给整数类型是一个道理。一旦除数和被除数中有一个是小数,那么运算结果也是小数,并且是 double 类型的小数。