📄 subject_54594.htm
字号:
<p>
序号:54594 发表者:woshiwuming 发表日期:2003-09-29 11:34:08
<br>主题:第一次来,求救菜鸟级问题???
<br>内容:题目:设计程序计算下列级数,n由用户输入(n!=1*2*3...*n)<BR>(1)1/1!+1/3!+1/5!+1/7!+.....+1/n!<BR>(2)1/2+3/4+7/6+13/8+21/10+....n/100(提示:分子恰好是前一项分子和分母相加)<BR><BR>我的答案:<BR>(1)<BR>#include <iostream.h><BR>void main()<BR>{<BR> int n,i;<BR> float s=1.0;<BR> float ans=1.0;<BR> cout<<"请输入一个奇数";<BR> cin>>n;<BR> if(n%2!=0)<BR> {<BR> for(i=0;i<=n;i++)<BR> {<BR> s*=i;<BR> ans+=1/(float)s;<BR> }<BR> cout<<ans;<BR> }<BR> else<BR> cout<<"输入错误";<BR>}<BR> <BR>但好象是错的,不知道错在哪里?第2题不会。<BR><BR>请各位指导指导了!!!<BR>
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回复者:淡淡 回复日期:2003-09-29 12:11:36
<br>内容:for(i=0;i<=n;i++)<BR>{<BR> s*=i;<BR> ans+=1/(float)s;<BR>}<BR><BR>i从0开始,s*=i后,s永远等于0<BR>i初始化为1!
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:淡淡 回复日期:2003-09-29 12:59:14
<br>内容:第二题,a(n)=[1+2+4+...+2(n-1)]/2n;<BR>s(n+1)=s(n)+a(n);<BR><BR>可以用递归实现求和吧,自己再想想吧
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:woshiwuming 回复日期:2003-09-29 21:36:41
<br>内容:呵呵。真的太谢谢你了!我以后要从这里出发,成为编程高手!<BR><BR>第二题,好象涉及到函数吧!我还没学到。<BR><BR>我现在只学了for ,while ,等简单的循环语句,能不能帮我看看。<BR><BR>怎么要这样简单的循环写出程序!<BR><BR>再次感谢你!!!
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:淡淡 回复日期:2003-09-30 08:47:26
<br>内容:用循环也可以呀<BR>你会求1+2+3+...+n的和吧(用循环)<BR>这个一样的道理呀,a(n)分母再接着自己笔算,变成没有求和的n的函数,再循环求和<BR><BR>你要自己想,不能完全靠别人告诉你答案
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:我要从这里开始C++ 回复日期:2003-09-30 10:10:08
<br>内容:恩。说的对!<BR>我的算法是<BR>void main()<BR>{<BR> int i,n,a,b;<BR> float s;<BR> cin>>n;<BR> while(a<=n)<BR> {<BR> for(i=1;i<=100;i++)<BR> {<BR> b=2*i;<BR> a=1;<BR> a+=b; //这里a就不是前一位的a了,怎么调整?<BR> s=0;<BR> s+=a/(float)b; //这个地方的a比b快一位数<BR> }<BR> }<BR> cout<<s;<BR>}<BR><BR>但是错的,我觉得错误的地方,但我又想不出怎么才好,而且这里的i限定死了小于100;<BR><BR>呵呵。。。我的水平好差,不过不要紧,我会努力的!
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:独行侠1 回复日期:2003-09-30 10:11:24
<br>内容:第二题的答案好像是这样的,你试一下.<BR>#include "iostream.h"<BR>#define MAX 50<BR>main()<BR>{<BR> float s=0;<BR> int n;<BR> for(n=1;n<=MAX;n++)<BR> s+=(1+n*(n-1))/(float)(2*n);<BR> cout<<s<<endl;<BR>}
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:我要从这里开始C++ 回复日期:2003-09-30 10:16:24
<br>内容:哇,我刚发就有人回,这里真是藏龙卧虎啊!高手如云。<BR>楼上的老师,题目是的n是要自己输入的。但好象测试出来的是一个数!!
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:独行侠1 回复日期:2003-09-30 10:19:36
<br>内容:第二题的n还用输入吗?题目已经隐含了他的值.因为分母是100,自然分子就确定了
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:淡淡 回复日期:2003-09-30 11:34:43
<br>内容:<BLOCKQUOTE>引用“第5楼”所言<BR><Q>恩。说的对! 我的算法是 void main() { int i,n,a,b; float s; cin>>n; while(a<=n) { for(i=1;i<=100;i++) { b=2*i; a=1; a+=b; ...... . . . . . . . . . . . . </Q></BLOCKQUOTE><BR>很多错误<BR>1 a没有初始化,就用到while(a<=n)<BR>2 for循环不对,首先求a(n)的分子就不对,其次你的a,s每次都重新赋值,也不对。<BR><BR>建议你现求1+2+...+n的和,对了后,求此题a(n)的分母,然后再做这道题。tip:如果不用求和公式,需要嵌套一个循环求分子,外层循环求s(n)<BR> <BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:adam&amp;ancy 回复日期:2003-10-02 16:26:12
<br>内容://(2)1/2+3/4+7/6+13/8+21/10+....n/100(提示:分子恰好是前一项分子和分母相加)<BR><BR><BR>#include <stdio.h><BR><BR> main()<BR>{<BR> int a,b,i=0,num=0;<BR> <BR> for(a=1,b=2;i<=50;a+=b,b+=2,i++)<BR> {<BR> <BR> num+=a/b;<BR> }<BR> printf("%d",num);<BR>}<BR><BR>第二题,很简单。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:adam&amp;ancy 回复日期:2003-10-02 16:28:59
<br>内容:哦,那里的int 型,因改该为float型。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:我要从这里开始C++ 回复日期:2003-10-06 10:25:08
<br>内容:<BLOCKQUOTE>引用“第9楼”所言<BR><Q> 引用“第5楼”所言 恩。说的对! 我的算法是 void main() { int i,n,a,b; float s; cin>>n; while(a<=n) { for(i=1;i<=100;i++) { b=2*i; a=1; ...... . . . . . . . . . . . . </Q></BLOCKQUOTE><BR>祝大家国庆快乐!!<BR>1+2+3+4。。+n<BR>答案是:i=1<BR>while (i<n)<BR>{s==i;<BR>i++;<BR>}<BR>没错吧!!<BR>此题的a(n)????<BR><BR>还是转不过来!!<BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:我要从这里开始C++ 回复日期:2003-10-06 10:26:16
<br>内容:<BLOCKQUOTE>引用“第10楼”所言<BR><Q>//(2)1/2+3/4+7/6+13/8+21/10+....n/100(提示:分子恰好是前一项分子和分母相加) #include <stdio.h> main() { int a,b,i=0,num=0; for(a=1,b=2;i<=50;a+=b,b+=2,i++) { num+=a/b; } print...... . . . . . . . . . . . . </Q></BLOCKQUOTE><BR>对不起,我的题目的n 是由用户输入的。<BR>不知道怎么解!!!??
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:Hmily 回复日期:2003-10-07 04:42:10
<br>内容:(2)1/2+3/4+7/6+13/8+21/10+....n/100(提示:分子恰好是前一项分子和分母相加)<BR>不说算法,单说这题,看着怎么不是那么顺呢???<BR>问题1、看这里“....n/100”n是一个给定的良,那怎么会确定除一百呢??<BR>问题2、第x个数的值本来就是非线性递增的数,怎么能说输入一个n呢??<BR><BR>按照五楼的贴的意思改代码如下:<BR>#include <iostream.h><BR>void main()<BR>{<BR> int i=1,n,b=2;<BR> long a=1;<BR> float s=0;<BR> cin>>n;<BR> while(a<=n)<BR> { <BR> b=2*(i++);<BR> if(i>100) break;<BR> s+=a/(float)b; <BR> a+=b; <BR> }<BR> cout<<s;<BR>}<BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -