一道c语言题,2/1+3/2+5/3+8/5+…+144/89 高手些看一下我的代码那里出问题了!

如题所述

第1个回答  2013-02-01

主要问题有三个:

1.代码要在半角状态下写

2.变量a,b是int类型的,a/b是整除了,要改一下:

3.值移动也有问题

#include<stdio.h>

#include<stdlib.h>

int main(void)

{

     int a=2,b=1,c;

     float s=0;

     while(a<=144)

     {

          s=1.0*a/b+s;//你的a,b都是int类型的,a/b就成了整除了,不是你想要的答案,要变成浮点数才行,所以乘以一个1.0。   

         c=a;  //必须加一个过渡

         a=a+b; //否则先b=a; 则这里就是a=a+a了.

         b=c;

 

     }

     printf("%f",s);

     system("pause");

     return 0;

}

结果:

相似回答