第一种方法
#include<stdio.h>
int main()
{
float sum = 0;
int z=2, m=1,a,b;
for (int i = 0; i < 20; i++)//从0到19一共循环20次
{
sum = sum +(float) z / m;//需要强制转换成浮点型
a = z - m;//如果没有这个,会影响给上一个数赋值给下一个数
m = z;//把前一个数的分子赋值给下一个数的分母
z = z + (m-a);//把前一个数的分子加分母的和赋值给下一个数的分子
}
return 0;
}
第二种方法
其他没变,把for循环里的变成
b = z;
z = z + m;
m = b;
注意事项
1、一开始单独定义的分子,分母是整型,但是合在一起时是分数,需要强制转换成浮点型。
2、编者在刚开始做时,犯了一个低级错误,就是在赋值时
m=z;
z=m+z;
没有考虑到这样赋值后会改变把前一个数的分子加父母的和赋值给下一个数。