C语言程序设计-第2版单元04-3-while和do-while循环_第1页
C语言程序设计-第2版单元04-3-while和do-while循环_第2页
C语言程序设计-第2版单元04-3-while和do-while循环_第3页
C语言程序设计-第2版单元04-3-while和do-while循环_第4页
C语言程序设计-第2版单元04-3-while和do-while循环_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

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

文档简介

主讲:沈涵飞C语言程序设计循环结构while循环:3n+1问题3n+1问题猜想:对于任意大于1的自然数,若n为奇数,则将n变为3n+1,否则变为n的一半。经过若干次这样的变换,一定会使n变为1。例如3→10→5→16→8→4→2→1。输入n,输出变换的次数。样例输入:3

样例输出:73n+1问题猜想:对于任意大于1的自然数,若n为奇数,则将n变为3n+1,否则变为n的一半。经过若干次这样的变换,一定会使n变为1。例如3→10→5→16→8→4→2→1。输入n,输出变换的次数。样例输入:3

样例输出:7#include<stdio.h>intmain(){intn,c=0;scanf("%d",&n);while(n>1){if(n%2==1)n=3*n+1;elsen=n/2;c++;}printf("%d\n",c);return0;}计数器counter小结while循环:3n+1问题for循环:表示序列,多重循环while:其他情况for循环未必表示序列do-while:至少执行一次,迭代for(i=1;i<=100;i++)sum=sum+i;while(n>1){n=(n%2==1)?3*n+1:n/2;c++;}for(c=0;n>1;c++)n=(n%2==1)?3*n+1:n/2;主讲:沈涵飞C语言程序设计循环结构do-while循环迭代法求平方根迭代法迭代法也称辗转法,是一种不断用变量的旧值递推新值的过程,跟迭代法相对应的是直接法,即一次性解决问题。迭代法又分为精确迭代和近似迭代。“二分法”和“牛顿迭代法”属于近似迭代法。迭代法是用计算机解决问题的一种基本方法。它利用计算机运算速度快、适合做重复性操作的特点,让计算机对一组指令(或一定步骤)进行重复执行,在每次执行这组指令(或这些步骤)时,都从变量的原值推出它的一个新值。计算15的平方根xy=1.001.0000008.0000008.0000004.9375004.9375003.9877373.9877373.8746343.8746343.8729843.8729843.8729833.8729833.872983iter3.87298335sqrt3.87298335牛顿法迭代求平方根对于给定的正数

,应用牛顿法解二次方程可导出求开方值的计算程序这种迭代公式对于任意初值都是收敛的

doubleC,x,y=1;C=15;do{x=y;

y=(x+C/x)/2;}while(fabs(x-y)>1E-8);printf("%.8f\n",y);牛顿法迭代求平方根#include<stdio.h>#include<math.h>intmain(){doubleC=15,x,y=1;do{x=y;y=(x+C/x)/2;

printf("%f%f\n",x,y);}while(fabs(x-y)>1E-8);printf("iter%.8f\n",y);printf("sqrt%.8f\n",sqrt(C));return0;}1.0000008.0000008.0000004.9375004.9375003.9877373.9877373.8746343.8746343.8729843.8729843.8729833.8729833.872983iter3.87298335sqrt3.87298335小结牛顿法求平方根

迭代法是基本计算方法dowhile的循环体至少执行1次输出中间结果帮助理解程序浮点数的指数形式表示法0.0011E-3,0.0033E-3口诀:E前E后都有数判断浮点数相等不能使用==fabs(x-y)<1E-8double

温馨提示

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

评论

0/150

提交评论