




已阅读5页,还剩40页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C 语 言 程 序 设 计,华商学院 信息工程系 Tel650256,2,第5章 循环结构程序设计,while、dowhile语句实现循环,for语句实现循环,提前结束循环,循环结构,3,5.1 循环结构,循环:重复执行某段算法 无休止循环 有终止循环 有穷性:有限的操作步骤(合理范围内) 确定性:没有歧义 有效性:有效执行,得到确定的结果 若b = 0,则a / b不能有效执行 有效循环:循环体 + 循环条件,4,第5章 循环结构程序设计,while、dowhile语句实现循环,for语句实现循环,提前结束循环,循环结构,5,5.2 while、dowhile语句,while格式: while(表达式) 语句 /表达式值非0时执行语句 如果循环体包含一个以上的语句,需用花括号括起所有语句 在循环体中应有使循环体趋向结束的语句,6,5.2 while、dowhile语句,求1 + 2 + + 100 int i = 1, sum = 0; while(i = 100) sum += i; i +; printf(“sum is %dn“, sum);,例 5.1,7,5.2 while、dowhile语句,dowhile格式: do 语句 while(表达式);/表达式值非0时执行语句,8,5.2 while、dowhile语句,求1 + 2 + + 100 int i = 1, sum = 0; do sum += i; i +; while(i = 100); printf(“sum is %dn“, sum);,例 5.2,9,5.2 while、dowhile语句,double amount, sum = 0; do scanf(“%lf“, ,例 5.3,10,第5章 循环结构程序设计,while、dowhile语句实现循环,for语句实现循环,提前结束循环,循环结构,11,5.3 for语句实现循环,for格式: for(表达式1; 表达式2; 表达式3) 语句 求解表达式1 求解表达式2 若其值为真,则执行内嵌语句,然后执行”步3” 若其值为假,则结束循环,转”步5” 求解表达式3 转”步2” 循环结束,执行for语句后面的语句,NS流程图?,12,5.3 for语句实现循环,for(表达式1; 表达式2; 表达式3) 语句 for(循环变量赋初值; 循环条件; 循环变量增值) 语句 for(sum = 0, i = 1; i = 100; i+) sum += i;,13,5.3 for语句实现循环,国王的小麦 /20 + 21 + 22 + + 263 / 1 + 2 + double p = 1, total = 1, v; for(int i = 1; i = 63; i +) p *= 2; / p = p * 2 total += p; / total = total + p v = total / 1.42e8; printf(“ total = %en“, total); printf(“volume = %en“, v);,例 5.4,14,5.3 for语句实现循环,double p = 1.30756e9, r = 0.01; int year; for(year = 2006; p = 1.5e9; year +) p *= 1 + r; / p = p * (1 + r) printf(“ year = %dn“, year - 1); printf(“people = %en“, p);,例 5.5,15,5.3 for语句实现循环,通过键盘输入字符,直到输入一个“换行”为止,然后依次输出这些字符 for(char c; (c = getchar() != n; ) printf(“%c“, c); /for(char c; (c = getchar() != n; printf(“%c“, c); /for(char c; (c = getchar() != n; putchar(c); 运行结果: HuaShang HuaShang 从键盘输入数据,是按Enter键后将数据送入内存缓冲区,然后每次从缓冲区读一个字符,再输出该字符,而不是从终端敲入一个字符立即就输出一个字符,HHuuaaSShhaanngg,16,第5章 循环结构程序设计,while、dowhile语句实现循环,for语句实现循环,提前结束循环,循环结构,17,5.4 提前结束循环,用break语句提前结束循环 格式:break; 结束整个循环 用continue语句提前结束循环 格式:continue; 结束本次循环,18,5.4 提前结束循环,double score, sum = 0, average; int i; for(i = 0; i 30; i +) scanf(“%lf“, ,例 5.6,19,5.4 提前结束循环,double score, sum = 0, average; int i, n; for(i = 0, n = 0; i 5; i +) scanf(“%lf“, ,例 5.7,20,第5章 循环结构程序设计,程序举例,21,5.5 程序举例,有两个整数a = 1, b = 2,要求将二者的值互换(即a = 2, b = 1),如何实现? t = a; a = b; b = t;,22,5.5 程序举例,斐波那契数列 , , , , , , int i, f1 = 1, f2 = 1; for(i = 0; i 20; i +) printf(“%12d%12d“, f1, f2); if(i % 2) putchar(n); f1 = f1 + f2; f2 = f2 + f1; ,例 5.8,f1,f2,f1,f2,f1,f2,1,1,2,3,5,8,23,5.5 程序举例,判断素数 int i, num, k; printf(“Please input a integer number:n“); scanf(“%d“, ,例 5.9,24,5.5 程序举例,char c; while(c = getchar() != n) if(c = a ,例 5.10,25,5.5 程序举例,求1! + 2! + 3! + + 20! for(i = 1, f = 1, sum = 0; i = 20; i +) f *= i; sum += f; printf(“1! + 2! + 3! + + 20! = “ “%dn“, sum);,阶 层,i = 1: f = 1 * 1 = 1! sum = 0 + 1 = 1!,i = 2: f = 1! * 2 = 2! sum = 1! + 2!,i = 3: f = 2! * 3 = 3! sum = 1! + 2! + 3!,26,5.5 程序举例,猴子吃桃 int i, p; for(i = 9, p = 1; i = 1; i -) p = 2 * (p + 1); printf(“p = %dn“, p); 运行结果: p = 1534,习题 4,27,5.5 程序举例,完数(完美数) 一个数恰好等于除它本身之外的其它因子之和 6 = 1 2 3(6的因子是1, 2, 3) 求1000以内的完数? void main() int i; for (i = 2; i =1000; i +) WanShu(i); /main(),完 数,28,5.5 程序举例,void WanShu(int num) int i, sum; for(i = 1, sum = 0; i num; i +) if(num % i = 0) sum += i; if(sum = num) printf(“%d:nIts factors are “, num); for(i = 1; i num; i +) if(num % i = 0) printf(“%d“, i); printf(“nn“); /WanShu(),完 数,29,5.5 程序举例,void WanShu(int num) int i, sum, k; k = num / 2; for(i = 1, sum = 0; i = k; i +) if(num % i = 0) sum += i; if(sum = num) printf(“%d:nIts factors are “, num); for(i = 1; i = k; i +) if(num % i = 0) printf(“%d“, i); printf(“nn“); /WanShu(),完 数,30,5.5 程序举例,最大公约数、最小公倍数? void main() int a, b, yue, bei; printf(“Please input two numbers:n“); scanf(“%d%d“, /main(),31,5.5 程序举例,int GYS(int a, int b) int yu; do yu = a % b; a = b; b = yu; while(b != 0); /while(b) return a; /GYS(),最大公约数,32,5.5 程序举例,int GBS(int a, int b) return a * b / GYS(a, b); /GBS(),最小公倍数,33,5.5 程序举例,打印图案,习题6,j,i,34,5.5 程序举例,int i, j; /i:行,j:列 for(i = 0; i = 3; i +) for(j = 0; j 3 - i; j +) putchar(); for(; j = 3 + i ; j +) putchar(*); putchar(n); /0 3行 for(i = 4; i = 6; i +) for(j = 0; j i - 3; j +) putchar(); for(; j = 9 - i ; j +) putchar(*); putchar(n); /4 6行,习题6,35,5.5 程序举例,百钱买百鸡 鸡翁一值钱五,鸡母一值钱四,鸡雏三值钱一。百钱买百鸡,问鸡翁、鸡母、鸡雏各几何?,百钱买百鸡,36,5.5 程序举例,int cock, hen, chicken; for(cock = 1; cock 20; cock +) for(hen = 1; hen 25; hen +) chicken = 100 - cock - hen; if(chicken % 3 = 0) if(cock * 5 + hen * 4 + chicken / 3 = 100) printf(“cock = %dnhen“ “= %dnchicken = %dn“, cock, hen, chicken); ,百钱买百鸡,37,5.5 程序举例,/* A - i B - j C - k */ char i, j, k; for(i = X; i = Z; i +) for(j = X; j = Z; j +) for(k = X; k = Z; k +) if(i != j) ,习题 7,38,5.5 程序举例,for(i = X; i = Z; i +) for(j = X; j = Z; j +) if(i != j) for(k = X; k = Z; k +) if(j != k) ,习题 7,39,5.5 程序举例,同构数 一个数是它平方数的最后n位数 5 * 5 = 25 6 * 6 = 36 25 * 25 = 625 求10000以内的同构数?,同构数,40,5.5 程序举例,int Digit(int fig);/返回位数 void main() int TongGou(int fig); printf(“The numbers:n“); for(int i = 1; i 10000; i +) if(TongGou(i) printf(“%dt%dn“, i, i * i); /main(),同构数,41,5.5 程序举例,int TongGou(int fig) int dgt, sqr, d3, d2, d1, d0, y4, y3, y2; dgt = Digit(fig); /dgt: 位数 sqr = fig * fig; y4 = sqr % 10000; d3 = y4 / 1000; y3 = y4 % 1000; d2 = y3 / 100; y2 = y3 % 100; d1 = y2 / 10; d0 = y2 % 10; switch(dgt) case 1: if(d0 = fig) return 1; else return 0; case 2: if(d1 * 10 + d0 = fig) return 1; else return 0; case 3: if(d2 * 100 + d1 * 10 + d0 = fig) return 1; else return 0; case 4: if(d3 * 1000 + d2 * 100 + d1 * 10 + d0 = fig) return 1; else return 0; /TongGou,同构数,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 浙江省温州九校2024-2025学年生物高二第二学期期末联考试题含解析
- 盐城市阜宁县高二上学期期中考试化学(必修)试题
- 空间科技厂区安全技术研发与物业运营合同
- 出租车企业驾驶员服务品质保障劳动合同样本
- 高新技术园区厂房出租安全生产责任合同模板
- 社区环境满意度调查及改进方案合同
- 旅游景区特色档口租赁管理与维护合同
- 桥涵承包合同(样本)
- 就职表态发言稿范文(18篇)
- 新能源集控运行练习试题及答案
- 2025-2030中国合成生物学行业市场发展趋势与前景展望战略分析研究报告
- 2025年上海青浦区高三语文二模试题卷附答案解析
- 存款保险知识培训总结
- 2024园艺师考试田间管理试题及答案
- 2025房地产经纪人协理-《房地产经纪综合能力》考前通关必练题库-含答案
- 2025年安徽物理中考模拟练习卷(含答案)
- 2024年全球及中国便携式步态和姿势分析系统行业头部企业市场占有率及排名调研报告
- 陪诊师考试模拟测试及试题答案
- 中国车路云一体化发展研究报告
- 毕业设计(论文)-垂直循环立体车库机械设计
- 超星尔雅学习通《公文写作规范(黑龙江大学)》2025章节测试附答案
评论
0/150
提交评论