这是1加1为什么等于21加1为什么等于21+1=2

1+1等于爱_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
评价文档:
3页免费1页免费2页2下载券2页3下载券2页免费 3页免费2页免费5页免费2页1下载券2页7下载券
喜欢此文档的还喜欢3页4下载券6页免费5页免费4页2下载券9页免费
1+1等于爱|
把文档贴到Blog、BBS或个人站等:
普通尺寸(450*500pix)
较大尺寸(630*500pix)
你可能喜欢能运行,但是什么都不显示,这是为什么?目的是求e=1+1/1!+1/2!+.......+1/n!_百度知道
能运行,但是什么都不显示,这是为什么?目的是求e=1+1/1!+1/2!+.......+1/n!
#include&stdio.h&main(){ int s,n;float t,x; t=1.0; x=0; s=1;{ for(i=1;i&=n;i++) n*=i;
} while((t)&=1e-5){ x=x+t;t=s/n;} e=x+1;printf(&e=%lf\n&,e);printf(&%f\n&,n);}
提问者采纳
两个循环内的逻辑都错了,能算出来那还是奇迹咯
能具体说说怎么错的吗,真心弄不懂C语言。。。感觉太难理清逻辑了
for(i=1;i&=n;i++);n*=i; 这句 应该是要计算n!对吧,但n的值没有给定,它的初始值只有int的初值0,因此这个循环一开始i就大于n,另外一个问题是,即使n赋了初值,但n的值是在变换的,你用i&=n将永远算不出来结果,例如你要计算3!,n=3,但执行一次n*=i,n=3,此时n&i,因此继续循环,然后i=2,此时n=6,而比较的条件变成i&=6了,因此要给n赋值,而且下面的n*=i,这里要把n改成别的变量,例如改成m 后面的while循环里,也有问题。t是多项式的每一项对吧,但是n是一个确定的数值,(准确的说应该n!也就是m对吧,由for语句计算出来的),这样t怎么可能继续循环下去呢?它又不能按照向量那样:t=t./m来作。。。 所以这里你应该把while内的循环移到for循环里,在m*=i;后加入t+=1/m;其实有效定义的变量不需要那么多,x和s完全是多余的,减少这些变量没有坏处,在这之前(当然也是for循环内)加上一个判断,1/m是否小于1e-5(当然,为了程序的效率,改成判断m是否大于1e5更有效),如果小于则退出,或者把这个判断直接放到for的判断内,取消i&=n的设定,因为这个设定完全多余,直接改成for(i=1;m&=1e5;i++),当然,循环之前要给m赋一个初值m=1;最后的t就是要的结果了,当然还要t=t+1
提问者评价
其他类似问题
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁一个正常人,在一种正常的情况下说1+1不等于2这是为什么?
一个正常人,在一种正常的情况下说1+1不等于2这是为什么?
其他回答 (4)
这类问题太多,,无聊
问锝太多啦!出现锝也太多啦!觉锝回答都已经不在是重要啦!
考什么的咯
等待您来回答
脑筋急转弯领域专家为什么1+1=2?这是为什么捏?
为什么1+1=2?这是为什么捏?
这个是给有逻辑思维的人,推理运用的。
因为1+1=2是数学定律、不可更改的
其他回答 (7)
因为2+2=4啊。。。。
因为数学规定
幼儿园这样教的
问你妈去、
谁说1+1=2的?有病吗!子曰:1+1=无穷大
数学家一定知道
等待您来回答
幽默笑话领域专家}

我要回帖

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信