循环结构应用(课件)讲解_第1页
循环结构应用(课件)讲解_第2页
循环结构应用(课件)讲解_第3页
循环结构应用(课件)讲解_第4页
循环结构应用(课件)讲解_第5页
已阅读5页,还剩15页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

《嵌入式C程序设计》主讲:马颖求π的近似值求π的近似值的近似方法

直到发现某一项的绝对值小于10-6为止(该项不累加)。

【算法分析】

奇数项偶数项

直到发现某一项的绝对值小于10-6为止(该项不累加)。【参考程序】#include<stdio.h>#include<math.h> main(){intsign=1; doublepi=0.0,n=1.0,term=1.0;//程序中用到数学函数fabs//sign用来表示数值的符号//pi开始表示多项式的值,最后代表π的值,//n代表分母,term代表当前项的值while(fabs(term)>=1e-6) {pi=pi+term; n=n+2; sign=-sign; term=sign/n; }pi=pi*4; printf(“pi=%10.8f\n”,pi); }

直到发现某一项的绝对值小于10-6为止(该项不累加)。【参考程序】#include<stdio.h>#include<math.h> main(){intsign=1; doublepi=0.0,n=1.0,term=1.0;

//把当前项term累加到pi中//n+2是下一项的分母//后一项的符号与前一项相反//求出下一项的值term//多项式的和pi×4,才是π的近似值//输出π的近似值pi=3.14159065【程序运行结果】while(fabs(term)>=1e-6) {pi=pi+term; n=n+2; sign=-sign; term=sign/n; }pi=pi*4; printf(“pi=%10.8f\n”,pi); }

直到发现某一项的绝对值小于10-6为止(该项不累加)。【参考程序】#include<stdio.h>#include<math.h> main(){intsign=1; doublepi=0.0,n=1.0,term=1.0;

//把当前项term累加到pi中//n+2是下一项的分母//后一项的符号与前一项相反//求出下一项的值term//多项式的和pi×4,才是π的近似值//输出π的近似值1e-8pi=3.14159065pi=3.14159263【程序运行结果】谢谢《嵌入式C程序设计》主讲:马颖求平均值计算用户多次输入的若干个数的平均值的方法要让用户反复执行输入操作时,可用scanf函数进行判断:m=scanf(“%d”,x);当输入数字,格式正确时,输入数值被送到变量x中,scanf函数将返回数字1,即m=1,说明输入成功。当输入格式不正确时,无法将一个值送到变量x中,那么scanf函数就返回数字0,即m=0,说明输入不成功。16.23161【例题】计算用户多次输入的若干个数的平均值,去掉一个最大数和一个最小数后再求平均值。main(){doublesum=0,aver=1; doublex=0,max,min; intcount=0,m=1; printf(“输入数字,回车确认(输入no结束输入过程):\n”);m=scanf(“%lf”,&x);max=min=x;//sum、aver分别用来存放数的和、平均值//count表示输入数字的个数//输入数字送到x中,输入成功m=1,否则=0while(m!=0) {count++; sum=sum+x;

printf(“输入下一个数据,回车确认(输入no结束输入过程):\n”);m=scanf(“%lf”,&x);if(x>max)max=x;if(x<min)min=x;}【例题】计算用户多次输入的若干个数的平均值,去掉一个最大数和一个最小数后再求平均值。//当输入成功时,执行循环体//输入数的个数加1//输入的数累加求和//判断输入的数是否是最大值//判断输入的是是否是最小值aver=sum/count;printf(“所有输入数的平均值是:%f\n”,aver);if(count>=3) {printf(“去掉一个最大数%f、一个最小数%f\n”,max,min);aver=(sum-max-min)/(count-2);printf(“平均值是:%f\n”,aver);}}【例题】计算用户多次输入的若干个数的平均值,去掉一个最大数和一个最小数后再求平均值。//求平均值//如果输入数的个数大于等于3个//求平均值【例题】计算用户多次输入的若干个数的平均值,去掉一个最大数和一个最小数后再求平均值。谢谢《嵌入式C程序设计》主讲:马颖猜随机数字?首先要确定随机数种子,然后才能模拟得到一个随机数。srand(time(NULL));

获得1~100之间的随机数:rand()猜大了怎样获得一个随机数呢?随机数5025猜小了30猜对了number=%100+1;【例题】程序随机给出一个1~100之间的数,让用户猜这个数。#include<stdio.h>#include<time.h> #include<stdlib.h> main(){intnumber,guess; intcount=0; srand(time(NULL)); printf(“给你一个1~100之间的数字,请猜测:\n”);number=rand()%100+1; 【例题】程序随机给出一个1~100之间的数,让用户猜这个数。//程序中用到time函数//程序中用到srand函数和rand函数//number,guess分别表示随机数、用户猜测数//记录用户猜测的次数//用当前时间做随机数种子//得到1~100之间的随机数

do{scanf(“%d”,&guess);

count++; if(guess>number) printf(“第%d次猜测,猜大了,请再猜:\n”,count);elseif(guess<number) printf(“第%d次猜测,猜小了,请再猜:\n”,count);}while(guess!=number);printf(“恭喜您猜对了,共

温馨提示

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

评论

0/150

提交评论