77范文网 - 专业文章范例文档资料分享平台

C语言程序设计教案内容(7)

来源:网络收集 时间:2018-11-17 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

} } a1 a2 a3 a4 b1 b2 b3 b4 c1 c2 c3 c4 d1 d2 d3 d4 e1 e2 e3 e4 例: #include main() { int i,j; for (i=4;i>=1;i--) { for (j=i;j>=1;j--) putchar(‘#’); for (j=1;j<=4-i;j++) putchar(‘*’); putchar(‘\\n’); } } #### ###* ##** #*** 例 打印乘法“九九表”。 1 2 4 3 6 9 4 8 12 16 5 10 15 20 25 6 12 18 24 30 36 7 14 21 28 35 42 49 8 16 24 32 40 48 56 64 9 18 27 36 45 54 63 72 81 main( ) { int i,j; for(i=1;i<=9;i++) { for(j=1;j<=i;j++) printf(\ printf(\ } } 6、break和continue语句 break语句:break语句用于循环语句和switch语句,作用是跳出循环语句和switch 语句,如: while() {... if() break; ...} 例 使用break终止循环。 #include “stdio.h” main( ) { int i,sum=0; for(i=1; ;i++) { if (i>100) break; sum+=sum; } printf(“sum=%d\\n”,sum); } 例输入一个整数m,判断是否是素数。 main( ) {int m,i,j; scanf(\ j=m-1; for (i=2; i<=j; i++) if (m%i==0) break; if (i>j) printf (\ else printf (\ } 例 求100-200之间的全部素数。 #include\ main( ) {int m,i,j; for (m=101; m<200; m++) { j=sqrt(m); for (i=2; i<=j; i++) if (m%i==0) break; if (i>j) printf (\ else printf (\ } } continue语句:continue语句类似于break语句,但不是退出循环,而是跳过循环体下面未执行的语句,接着执行循环下一次迭代。如: while( ) { … if ( ) continue; … } 例 使用continue语句示例 #include\main( ) {int n; while (1) {scanf(\ if (n%2==1) {printf(\ continue;} break; } printf(\} 例: main() { int k=0;char c=‘A’; do { swith (c++) { case ‘A’:k++;break; case ‘B’:k--; case ‘C’:k+=2;break; case ‘D’:k%=2;continue; case ‘E’:k*=10;break; default:k/=3; } k++; }while(c<‘G’) printf(“k=%d\\n”,k); } 例: main() { int i,j,x=0; for(i=0;i<2;i++) { x++; for(j=0;j<=3;j++) { if (j%2) continue; x++; } x++; printf(“x=%d\\n”,x); } 例 用近似公式求e≈1+1/1!+1/2!+…+1/n! 分析:设term分别代表求和公式中的每一项,则第i项总可以用第i-1项推算出来,即 term=term/i。 用单循环编写的程序片段: e=1.0; term=1.0; for (i=1;i<=n;i++) {term/=i; e+=term; } 例 求fibonacci数列的前40个数。 分析:设当前项为f,前一项为f1,前二项为f2。首先根据f1和f2推出f,再将f2作为f1,f作为f2,再推出f,如此一直递推下去: 1 1 2 3 5 第一次 f1 + f2 → f ↓ ↓ 第二次 f1 + f2 → f ↓ ↓ 第三次 f1 + f2 → f 递推法:递推是指在一个数的序列值中,下一项的值是在前一项的基础上推算出来的,即下一项对前一项有某种依赖关系。 f1=1.0;f2=1.0;n=2; printf(“.0f.0f”,f1,f2); for (i=3;i<=40;i++) {f=f1+f2; if (n%4 ==0) printf (\ printf (\ f1=f2; f2=f; n++; } f1=1.0;f2=1.0;n=2; for (i=1;i<=20;i++) {printf(“.0f.0f”,f1,f2); f1=f1+f2; f2=f2+f1; if (n%4 ==0) printf (\ n++; } 求Fibonacci数列中第一个大于1000的数 main() { int f,f1,f2; f1=0;f2=1; for(;;) { f=f1+f2; if (f>1000) break; f1=f2; f2=f; } printf(“f=%d\\n”,f); } 例 破译密码。按以下规律翻译密码: 将每一个字母变成它后面的字母,如将A变成B,Z变成A,非字母字符不变,‘!’作为电文结束标志。例如,有一电文“right”,翻译成 “sjhiu”。 例 百钱买百鸡问题。公鸡每只5元,母鸡每只3元,小鸡3只一元,问一百元买一百只鸡有几种解法(各种鸡都要)。 枚举法:枚举法是计算机中常用的一种方法,它的基本思路是:一一列举各种可能的情况并判断哪一种情况是符合要求的解。 for(x=1; x<=19; x++) for(y=1;y<=33-x; y++) { z=100-x-y; if (z%3==0 && 5*x+3*y+z/3==100) printf(“cock=%d hen=%d chick=%d\ } 结果: cock=4 hen=18 chick=78 cock=8 hen=111 chick=81 cock=12 hen=4 chick=84 课后题 牛顿迭代法: 1) x1 ← x0-f(x)0/ f’(x0) 2)WHILE |x1-x0| ≥ εDO 3) x0←x1 4)x1←x0-f(x0)/f’(x0) END 5) OUTPUT x1 二分法算法:区间[a,b]有且只有一个实根 1)取c=(a+b)/2; 2) 若f(c)=0,则c即为根,过程结束; 3)若f(a) ? f(c)<0,则b←c; 4) 否则a←c,f(a) ←f(c); 5)若| a-b | <ε,则过程结束,(a+b)/2即为根的近似值,否则重复执行1). # include “math.h” main( ) { float x1,x2,x,f1,f2,f; do {scanf(“%f,%f”,&x1,&x2); f1==((x1-5.0)*x1+16.0)*x1-80.0; f2==((x2-5.0)*x2+16.0)*x2-80.0; } while(f1*f2>=0); do

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库C语言程序设计教案内容(7)在线全文阅读。

C语言程序设计教案内容(7).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/279987.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: