C语言 do...while语句.ppt_第1页
C语言 do...while语句.ppt_第2页
C语言 do...while语句.ppt_第3页
C语言 do...while语句.ppt_第4页
C语言 do...while语句.ppt_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

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

文档简介

1、do.while语句,直到型循环,知识点学习,注意要点: (1)dowhile结构末尾,有分号。 (2)执行过程:先执行一遍循环体语句,再判断条件,若条件为真,继续执行循环体语句,再判断条件,直到条件为假为止。,实训1:求的值 ,其中n由用户输入。请分别用while语句和dowhile语句编写程序代码,1.定义n放用户输入数;定义循环变量i,i初值为1;定义sum放累加和,sum初值为0。 2.循环条件为i=n,每次i加1 3.循环的过程中,sum=sum+i*i,用while实现的代码如下:,#include int main() /1.定义n,定义i作循环变量,初值为1,定义sum放累加和

2、,初值为0 long n,i=1,sum=0; /2.用户输入n值 printf(请输入正整数n:); scanf(%ld, ,用dowhile实现的代码如下:,#include int main() /1.定义n,定义i作循环变量,初值为1,定义sum放累加和,初值为0 long n,i=1,sum=0; /2.用户输入n值 printf(请输入正整数n:); scanf(%ld, ,实训2:用dowhile语句计算数列1/2、2/3、3/5、5/8、8/13、的前10项和,通过观察得知:前一个数的分子分母和变成了下一个数的分母,前一个数的分母变成了下一个数的分子。 1.定义double f

3、enzi,fenmu两个变量分别表示分子和分母,分子的初值是1分母的初值是2定义sum放累加和。定义i为循环变量 2.做循环,共循环10次,求出累加和 3.循环的过程中:前一个数的分子分母和变成了下一个数的分母,前一个数的分母变成了下一个数的分子。 注意:要定义一个变量temp将上一次的分母暂时放起来,代码如下:,#include int main() double sum=0,fenzi=1,fenmu=2,temp; int i=1; do sum=sum+fenzi/fenmu; temp=fenmu; fenmu=fenzi+fenmu; fenzi=temp; i+; while(i

4、=10); printf(%lf,sum); return 0; ,实训3:用dowhile语句计算 满足的最大n值,算法分析: 1.定义循环变量i,i初值为1;定义sum放累加和,sum初值为0。 2.循环结束条件为sum1000 3.输出i值即可,#include int main() /1.定义循环变量i,i从1开始循环 /2.定义sum放累加和 int i=0; int sum=0; do sum=sum+i*i; i+; while(sum1000); /3.循环条件是累加和sum1000 /4.求得的i-1才是n值,因为求完累加和后,i的值又加了1。所有i用减去1才得n值 prin

5、tf(n的最大值是:%dn,i-1); return 0; ,代码如下:,实训4:有一张厚度为0.1mm的纸,假设它足够大,重复将其对折,问对折多少次之后,其厚度可以达到珠穆朗玛峰的高度(8848180mm)?用dowhile语句实现。,提示:对折一张纸,实质就是厚度乘以2,次数加1. 1.定义h表示厚度,h为循环变量,初值为0.1;定义count表示对折次数,count初值为0 2.循环的条件为h8848180 3.循环的过程中h=h*2 count=count+1,#include int main() double h=0.1; int count=0; do h=h*2; count=

6、count+1; while(h8848180); printf(对折%d次后其厚度可以达到珠穆朗玛峰的高度, count); return 0; ,代码如下:,思考题: 猴子吃桃问题。猴子第1天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第2天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半加一个。到第10天早上想再吃时,就只剩下一个桃子了。求第1天共摘了多少个桃子。,提示:设第1天摘了n个桃子, 第2天早上:吃掉的桃子:n/2+1,剩下的桃子:m=n-(n/2+1)=n/2-1 因此得到:后面1天的桃子数m和前一天桃子数n的关系是:n=(m+1)*2 第10天的桃子:1 第9天的桃子:(1+1)*2=4 第8天的桃子:(4+1)*2=10 一共循环几次? =10,#include int main() /1.定义第10天的桃子数和第9天的桃子数 int i=1,m=1,n; /2.做9次循环可以退到第1天的桃子数 while(i=9) /3.n是第9天的桃子数 n=(m+1)*2; /4

温馨提示

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

评论

0/150

提交评论