回复 9楼 星野
抱歉 我前面看错了 你的算法是正确的
没有得到正确答案是数据类型的问题
a / b 两个都是int 计算结果也是int 会把小数部分删除
所以结果不对
程序代码:
#include<stdio.h> int main() { int a,b,n; double c;//注意c要用浮点类型 a=2; b=1; c=(double)a/b;//注意这里 把a强制转换为 double 这样 double/int 结果就是double 不会舍弃小数部分 for(n=2;n<=20;n++) { a=a+b; b=a-b; c=c+(double)a/b; } printf("c=%f",c);//注意输出c要用 %f }
https://zh.