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 显然是不对的。。。。请问哪里出问题了
C语言编程(2/1+3/2+5/3+8/5+13/8.....)20项目求和
答案:5 悬赏:60 手机版
解决时间 2021-02-13 08:33
- 提问者网友:心牵心
- 2021-02-12 13:26
最佳答案
- 五星知识达人网友:怙棘
- 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循环体也没有除法操作!
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;
}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯