解题思路:
1、调和函数前100项如下:
1 / 1 - 1 / 2 + 1 / 3 - 1 / 4 + 1 / 5 …… + 1 / 99 - 1 / 100
2、 规律:
一正一负,因此设置一个符号标记位flag,每循环一次改变一次;
分母逐项加一;
应注意除法数据不能定义成int型,此处定义成double型。
具体代码:
#include<stdio.h>
#include<stdlib.h>
int main(){
int flag = 1;
double sum = 0.0;
int i = 0;
for (i = 1; i <= 100; i++){
sum += flag*(1.0 / i);
flag = -flag;
}
printf("%lf\n", sum);
system("pause");
return 0;
}