永发信息网

C语言编程(2/1+3/2+5/3+8/5+13/8.....)20项目求和

答案:5  悬赏:60  手机版
解决时间 2021-02-13 08:33
  • 提问者网友:心牵心
  • 2021-02-12 13:26
RT:(2/1+3/2+5/3+8/5+13/8.....)这20个项求和,我的语句是:
#include<stdio.h>
int main()
{
int a1=2,a2=3,a3;
int b1=1,b2=2,b3;
int i;
double c1=2,c2,c3;
printf("%d\n",c3);
for(i=1;i<=20;i++)
{
a3=a2+a1;
b3=b2+b1;
c3=c2+c1;
a1=a2;
a2=a3;
b1=b2;
b2=b3;
c1=c2;
c2=c3;
}
return 0;
}
但输出的结果是:4199340 显然是不对的。。。。请问哪里出问题了
最佳答案
  • 五星知识达人网友:怙棘
  • 2021-02-12 15:02
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <stdio.h>
intmain(void)
{
    inta1 = 1, a2 = 2, temp;
    inti;
    doublesum = 0.0;
    for(i = 0; i < 20; i++)
    {
        sum = (double)a2/a1;
        temp= a2;
        a2 = a1 + a2; 
        a1 = temp;
    }
    printf("%lf\n", sum);
    return0;
}

你的代码压根就没有输出结果,输出的是c3未初始化时的垃圾值!for循环体也没有除法操作!
全部回答
  • 1楼网友:一秋
  • 2021-02-12 19:01
#include <stdio.h> void main() { float a,b,c,sum; int i; a=2.0; b=1.0; sum=0.0; for(i=0;i<20;i++) { float c; sum+=a/b; c=a; a+=b; b=c; } printf("%f",sum); } 望采纳、、、谢谢!!!
  • 2楼网友:鱼芗
  • 2021-02-12 18:45

#include "stdio.h"

void main() {  double s=0,a,b;  int i;  a=2,b=1;  for(i=1;i<10;i++) //这里计算了9项,你可以改你要计算的个数  {   s+=a/b;   a=a+b;   b=a-b;  }  printf("%lf\n",s); }

  • 3楼网友:躲不过心动
  • 2021-02-12 17:07
出现这样的结果是c3没有初始化 你下面求和的代码也有问题
  • 4楼网友:低血压的长颈鹿
  • 2021-02-12 16:05
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 #include<stdio.h> intmain() {     inta1=2,a2=3,a3;     intb1=1,b2=2,b3;     inti;     doublec1=2,c2,c3;     printf("%d\n",c3);//很显然是运行到这e69da5e887aa62616964757a686964616f31333332643865一句就输出了c3的值,但是循环还没有进行     for(i=1;i<=20;i++)     {         a3=a2+a1;         b3=b2+b1;         c3=c2+c1;         a1=a2;         a2=a3;         b1=b2;         b2=b3;         c1=c2;         c2=c3;     }//然后循环完了却没有输出。你在逗我?          return0; }
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯