C语言第三课 for循环例子.doc_第1页
C语言第三课 for循环例子.doc_第2页
C语言第三课 for循环例子.doc_第3页
C语言第三课 for循环例子.doc_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

C语言第三课 for循环例子 2009-3-10 0:24:00 | By: 曹金华 14推荐1.有一只猴子吃一堆果子,已知每天吃昨天剩下的果子的一半再多一个,直到第10天才吃完。问原来这堆果子有多少个?题目变换:关于小明分糖果题;关于楼层小球弹跳后求楼高题。本题题目分析:第10天才吃完,那就是说第11天剩下0个。设第10天没吃之前还有x个,依题意,可得:x-(1/2x+1)=0 x=2同样的道理,设第9天没吃之前还有x个,可得:x-(1/2x+1)=2 x=(2+1)*2;从这两个表达式可以看出,s(i)=2*(s(i+1)+1);这个表达式说明了前后两天果子数之间的关系。程序:i nclude main()int i,s=0;for(i=10;i0;i-)s=2*(s+1);printf(s=%dn,s);getch(); 程序说明:for循环变量用于控制循环次数,可以换成for(i=1;i=10;i+) 2. 国际象棋棋盘有64格,若在第1格放1粒谷;第2格放2粒谷;第3格放4粒谷;第4格放8粒谷如此一直放到第64格。假设2000000粒谷有一顿重,问需要多少吨谷才够放?第几格 1 2 3 4 64每格粒数 1 2 4 8 ?总粒数 1 3 7 15 ?规律:每一格粒数应为前一格粒数的2倍。n=n*2;每一格总粒数应为前一格总粒数加上当前格的粒数。s=s+n;再加上循环,用于控制循环的次数;程序i nclude main()int i;float n,s;i=1;n=1.0;s=1.0;for(i=2;i=64;i+)n=n*2;s=s+n;printf(s=%fn,s/2000000); getch(); 程序说明:1) 本程序主要难点在于发现前后两格之间粒数的关系,在求得总粒数之前,必须先求出当前格的粒数。然后再进行累加。2) 循环变量主要用于控制循环的次数。3. 有一个数列,已知第一个数是0,第二个数是1。从第三个数开始每一个数是它前面两个数之和。求出这个数列的第3个至第24个数各是多少?分析:第几项 (1) (2) (3) (4) (24)第几项的值 0 1 ? ? ?a b c=a+b ? ?a新第一项 b新第二项 c=a+b ? ? c=a+b首先求第三个数,c=a+b=0+1=1; 求第四个数时,为了继续使用c=a+b;需要把第三项的值赋给b,第二项的值赋给a。如此循环,直至求出第24项。程序:main()int a,b,c,i;a=0;b=1;for(i=3;i=24;i+)c=a+b;printf(“%6d”,c);a=b;b=c; 程序解释:1) 循环变量i的作用是用于计算循环的次数,本身与循环体无关,因此我们也可以写成:for(i=1;i=22;i+)2) 如果需要把第1,2个数也输出来,可以在for循环之前输入:printf(“0 1”);3) 不能将最后两个赋值语句颠倒。4. 求1+x/1!+x2/2!+x3/3!+xn/n!=?分析:第0项是1,第一项是x/1,第二项是(x*x)/(1*2),第二项/第一项=x/2;第二项是(x*x)/(1*2),第三项是(x*x*x)/(1*2*3),第三项/第二项=x/3;第n-1项是xn-1/(n-1)!,第n项是xn/n!,则第n项/第n-1项=x/n;由此可以看出,我们为了求和,必须先求出第n项的值:s(n)=s(n-1)*x/n;这个式子是我们解题的关键步骤。程序i nclude main()int i,n,x;float t,s;printf(please input the result of nn);scanf(%d,&n);printf(please input the result of xn);scanf(%d,&x);t=1.0;s=1.0;for(i=1;i=n;i+)t=t*x/i;s=s+t; printf(s=%fn,s); 程序说明:1) 在使用scanf函数前应用一条printf语句进行提示;2) 解题的关键在于循环体的求出:t=t*x/i; s=s+t;5. 5双重循环的使用(循环的嵌套使用)双重循环的引入:for(a=1;a=3;a+)for(b=1;b=4;b+)printf(“%d*%d=%d”,a,b,a*b);printf(“n”);执行过程:a 1 2 3b 1 2 3 4 1 2 3 4 1 2 3 4令a=3为条件1,b=4为条件2。当a=1时,先执行b循环:b=1,输出,然后b=2,输出,直到b=4时,输出,然后b=5条件2为假,退出循环2,执行换行输出,返回循环1,此时,a+.当a=2时,先执行b循环:b=1,输出,然后b=2,输出,直到b=4时,输出,然后b=5条件2为假,退出循环2,执行换行输

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论