第6章 循环控制(增加例题)_第1页
第6章 循环控制(增加例题)_第2页
第6章 循环控制(增加例题)_第3页
第6章 循环控制(增加例题)_第4页
第6章 循环控制(增加例题)_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

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

文档简介

1、 6.9 程序举例程序举例o 例例1:用:用/41-1/3+1/5-1/7+公式求公式求的近的近似值,直到最后一项的绝对值小于似值,直到最后一项的绝对值小于10-6为止。为止。N-S结构化流程图如下: Pi=0,t=1,n=1.0,s=1 当|t|=10-6 pi=pi+t;n=n+2; s=-s;t=s/n; pi=pi*4输出pio 程序:程序:n #include #include n main()main()n n int s; float n,t,pi; int s; float n,t,pi;n t=1;pi=0;n=1;s=1; t=1;pi=0;n=1;s=1;n while(

2、fabs(t)=1e-6) while(fabs(t)=1e-6)n pi=pi+t; n=n+2; pi=pi+t; n=n+2;n s=-s; t=s/n; s=-s; t=s/n;n pi=pi pi=pi* *4;4;n printf(“pi=%10.6fn”,pi); printf(“pi=%10.6fn”,pi);n 分析:算法如下分析:算法如下f1=1,f2=1for i=1 to 20输出输出f1, f2f1=f1+f2f2=f2+f1程序如下:程序如下:main() long int f1=1, f2=1; int i; for(i=1; i=k+1TF输入输入mk=sqrt

3、(m)i=2输出输出m是素数是素数当当i=km被被i整除整除用用break结束循环结束循环i=i+1输出输出m不是素数不是素数TF分析:分析:程序设计有三种基本思维方法:程序设计有三种基本思维方法: *或者或者j=(n%100)/10o 法法2:o main() int i, j, k; for( i=1; i=18 ; i+) for( j=1 ; j=31 ; j+) k = 100-i-j; if ( 3*(100-5*i-3*j )= = k) printf(“%d,%d,%dn”, i , j , k); o 法法4:o main() int i, j, k; for( i=1; i

4、=13 ; i+) j = (100-7*i)/4; k = 100-i-j; if ( 7*i+4*j = = 100) printf(“%d,%d,%dn”, i , j , k); TF输入输入aa=1.0e-6x0=x1x1=0.5*(x0+a/x0)输出输出x1* 分析:分析:N-S图如右:图如右:分析:分析:归纳法归纳法。 i=1;s=1;i=1;s=1; 当当i=9 i=9 s=(s+1) s=(s+1)* *2;2; i=i+1; i=i+1;输出输出s so 分析:牛顿迭代法又称牛顿切线法。分析:牛顿迭代法又称牛顿切线法。先设一个接近的根先设一个接近的根x0 x0,求出,求出

5、f(x0)f(x0),过点,过点( x0,f(x0)( x0,f(x0)作作f(x)f(x)的切线,交的切线,交x x轴于轴于x1x1,把它作第二次近似根;再由把它作第二次近似根;再由 x1x1求出求出 f f (x1)(x1),过,过( x1 , f (x1)( x1 , f (x1))继续作切线)继续作切线,直至接近真正的根为止。直至接近真正的根为止。o 作切线,斜率为作切线,斜率为f (x0)= f(x0) / (x1-f (x0)= f(x0) / (x1-x0)x0) 则则 x1 = x0 - f (x0) / f (x0)x1 = x0 - f (x0) / f (x0)#incl

6、ude main() float x0 ,x1 , x2 ,fx0 ,fx1 , fx2;do printf(“Enter x1 & x2 :”); scanf(“%f,%f”,&x1,&x2); fx1=x1*(2*x1-4)*x1+3)-6; fx2=x2*(2*x2-4)*x2)+3)-6; while (fx1*fx20);do x0=(x1+x2)/2; fx0=x0*(2*x0-4)*x0+3)-6; if (fx0*fx1)=1e-5); printf(“x=%6.2fn”,x0); 程序设计测试题程序设计测试题o 1、百钱买百鸡。、百钱买百鸡。o 2、根

7、据公式、根据公式e=1+1/1!+1/2!+1/3!+,求,求e的近似值,精度要求为的近似值,精度要求为10-6。o 3、若用、若用0到到5之间的三个数构成一个三位之间的三个数构成一个三位数数(各位上的数字不同各位上的数字不同),统计出共有多少,统计出共有多少种方法,并输出每种情况。种方法,并输出每种情况。2. 程序如下:程序如下:#include void main() int i = 1; n=1; double e =1.0 , t =1.0 ; while ( t =1e-6) e = e + t; i + +; n=n*i; t = 1.0/ n ; printf( “ e = %f n ”,e); 3、程序如下:、程序如下:#include void main() int i , j , k , count = 0 ; for( i =1; i =5; i + +) for( j=0 ; j=5 ; j+) if ( i = = j) con

温馨提示

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

评论

0/150

提交评论