2014第三章实验4for语句及嵌套综合学生问题教程.doc

2014第三章实验4for语句及嵌套综合学生问题教程.doc

  1. 1、本文档共91页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
2014第三章实验4for语句及嵌套综合学生问题教程

PAGE 1 数据结构(C++版) C++程序设计(第2版) 求1!+2!+3!...+10!的和。(课本P66页四、5) 1!+2!+3!...+30!呢,程序有什么区别? #includeiostream.h void main() { int n=1,s=1,total=0; while(n=20) { for(s=1;n=1n=20;n--) s=s*n; total=total+s; n++;} couttotal=totalendl; } 问题:老师,程序没有错误,但是执行不出结果,帮我看看原因! 只能说编译没有错误,你程序死循环,错大了。外循环循环变量是n,竟然内循环改变这个循环变量,请问怎么结束?修改如下 #includeiostream.h void main() { int i,n=1,s=1,total=0; while(n=10) { for(s=1,i=n;i=1;i--) s=s*i; total=total+s; n++;} couttotal=totalendl; } 1、求1!+2!+3!+…+10!的和。(课本P66页四、5) 1!+2!+3!...+20!呢?程序有什么区别? #include iostream using namespace std; int main( ) { int sum=0,a,b,c=1; for(a=1;a=10;a++) { for(b=a;b=1;b--) //是这个地方么 { c=c*b; } sum=sum+c; } cout1+2!+3!++10!=sumendl; }分析:一开始这样做为什么不对 把c=1放到内循环for之前 #includeiostream.h void main () { int sum=0,i,j,k=1; for(i=1;i=10;i++) {for(j=i;j=1;j--) {k=k*j;} sum=sum+k;} cout\n1!+2!+3!+4!+5!+6!+7!+8!+9!+10!=sumendl;} 内层循环的累计变量在外层循环之前赋初值是致命的。修改后的程序如下: #includeiostream.h void main () { int sum=0,i,j,k; for(i=1;i=10;i++) {k=1; for(j=i;j=1;j--) {k=k*j;} sum=sum+k;} cout\n1!+2!+3!+4!+5!+6!+7!+8!+9!+10!=sumendl;} 问题:一开始编这个程序的时候是像下面这样编的,可是出来的不是正确的答案,并且将10改成20后答案是一样的,这是为什么? #includeiostream.h void main() { int num=10,a,b,sum=0,factoria=1; for(b=1;b=num;b++) { for(a=1;a=b;a++) {factoria=factoria*a; } sum=sum+factoria; } cout1!+2!+3!++10!=sumendl; } 错误同上 1、求1!+2!+3!+…+10!的和。(课本P66页四、5) 1!+2!+3!...+20!呢?程序有什么区别? #includeiostream.h void main() { int a,b,m=1,sum=0; cout请输入\n; cina; for(a=1;a=10;a++) { for(b=1;b=a;b++) { m=m*b; sum=sum+m; } } coutsumendl; } 分析:不知道为什么会出来负值,能不能不用内外循环就可以做出来。 两个红色标注语句位置不对,一个m=1应该在内层for之前,另一个sum=sum+m; 应该在内层for之后 1、 #includeiostream.h void main() { int n,sum,i,j; n=0;sum=1;//应该放入内循环for之前 for(i=1;i=10;i++) { for(j=1;j=i;j++) sum=*j; //应该sum*=j; n=sum+n; } //这里应该有输出 } ( 注意:嵌套时语句的顺序。 老师:为啥加上红色部分就不对了呢? 1、求1!+2!+3!+…+10!的和。(课本P66页四、5) 1!+2!+3!...+20!呢?程序有什么区别? 析:一开始写的程序如下, void main() { int i,sum=0,m,a

文档评论(0)

shuwkb + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档