长江大学:《C语言程序设计》课程教学课件(PPT讲稿)第二章 计算机算法(2/2)

第二章第5节 §25结构化程序设计方法 1)具有结构化的算法,即由三种基本结构组成 重点 2)程序设计风格及结构,清晰、规范、模块化 )自顶向下厂先作整体方案设计,再进行各部分设 方法2)渐步细化计,最后进行细化设计。 3)模块化设计:将程序分成若干个功能单一(独立 )的子程序,由主程序调用子程序。 4)结构化编码用结构化程序设计语言来编程序。 如:C, Pascal, Qbasic
§2.5 结构化程序设计方法 第二章 第5节 1)具有结构化的算法, 即由三种基本结构组成 2)程序设计风格及结构,清晰、规范、模块化 重点 1)自顶向下 先作整体方案设计,再进行各部分设 2)渐步细化 计,最后进行细化设计。 3)模块化设计: 将程序分成若干个功能单一(独立 )的子程序,由主程序调用子程序。 4)结构化编码 采用结构化程序设计语言来编程序。 如:C , Pascal, Qbasic 方法

例“百钱买百鸡” 第二章第5节 公鸡 钱一只 coke 母鸡3钱一只 hen 雏鸡1钱三只 chick 考虑到小数的计算误差 解:(1)基本思路 coke+hen+chick=100 5*coke+3*hentchick/3=100 (2)-15*coke+9*hen+chick=300(2) 范围:coke:0-19(不能为20,否则总钱数为100,但hen、 chick=0 hen:0-33(若为34,总钱>100) chick:0—100(不能大于100,否则鸡总和>100 步聚: s1:取cock=0→19,step1 s2:求符合条件的hen, kick(满足方程2)且为正整数) 算法: cocke cocke 当cock<=19 当(cock<=19)时执行: {求满足条件的hen,chck; 求符合条件的 Then. chick cock=cock+1 cock=cock+1
例 “百钱买百鸡” 第二章 第5节 公鸡 5 钱一只 coke 母鸡 3 钱一只 hen 雏鸡 1 钱三只 chick 解: (1) 基本思路 coke+hen+chick=100 (1) 5*coke+3*hen+chick/3=100 (2) 15*coke+9*hen+chick=300 (2) 范围: coke: 0—19 (不能为20,否则总钱数为100,但hen、chick=0) hen: 0 — 33 (若为34,总钱>100) chick: 0 — 100 (不能大于100,否则鸡总和>100) 步聚: s1: 取cock=0→19, step 1 s2: 求符合条件的hen, ckick (满足方程(1)(2)且为正整数) 算法: cock=0 当(cock<=19)时,执行: {求满足条件的hen, chick; cock=cock+1; } ?? cock=0 求符合条件的hen,chick cock=cock+1 当cock<=19 考虑到小数的计算误差

S2:细化 第二章第5节 法一:解方程(cock为己知) 同时满足: chick=(2*cock+200)*3/8 令→∫( chick>0)&&( (chick-(int)(chick=0 hen=(100-7*cock)/4 l(hen>0)&&(hen-(int(hen))==0) 法二 21取hen=0→33,sep1细化S2,1 chick=100-c0 ck-hen s22求符合条件的 kick s222条件 算法: 15*cock+g*hen+chick300 hen=0 当(hen<=33时执行: 求满足条件的 Chick; hen=hen+l chick=100-coke-hen 15*cock+9*hen+chick=300 hen=0 F 当hen<=33 输出 求符合条件的 chick cOc hen hen=hen+ chick
法二 : s2.1 取 hen =0 → 33, step 1 s2.2 求符合条件的 ckick 第二章 第5节 法一: 解方程(cock为己知) chick = (2*cock+200)*3/8 hen = (100-7*cock)/4 S2: 细化 算法: hen=0 当(hen 0)&&(chick-(int)(chick) ==0) (hen > 0)&&(hen-(int)(hen))==0) chick=100-coke-hen 15*cock+9*hen+chick=300 T ? F 输出: cock hen chick

第二章第5节 汇总: cocke acock<=19 hen=0 当hen<=33 chick=100-coke-hen 15*cock+9*hen+chick300 T F 输出 k en chick hen=hen+1 cock=cock+I
cock=0 cock=cock+1 当cock<=19 hen=0 hen=hen+1 当hen<=33 chick=100-coke-hen 15*cock+9*hen+chick=300 T ? F 输出: cock hen chick 汇总: 第二章 第5节

第二章第5节 程序: main fint cock, hen, chick; cocke: while(cock<=19) hen=0 while(hen<=33) chick=100-hen-cock; if(15*cock+9*hen+chick)==300) printf(cock, hen, chick=%d, % d, %odn", cock, hen, chick) else hen++ cock++:
第二章 第5节 程序: main( ) {int cock,hen,chick; cock=0; while(cock<=19) { hen=0; while(hen<=33) {chick=100-hen-cock; if((15*cock+9*hen+chick)= =300) printf(“cock, hen, chick =%d,%d,%d\n”,cock,hen,chick); else ; hen++; } cock++; } }

第二章习题讲解 241有两个瓶子A和B分另盛放醋和酱油要求将它们互换 取一个空瓶C A←-B B←C 242依次将10个数输入,要求将其中最大的数打印出来 法1∠输入x max←x,i←-1 N Y xmax B max←X B 输出 max 输入x A
第二章 习题讲解 2.4-1 有两个瓶子A和B,分另盛放醋和酱油,要求将它们互换 取一个空瓶C C←A A←B B←C 2.4-2 依次将10个数输入,要求将其中最大的数打印出来. 输入x max ←x; i ←1 i ←1+1 imax max ←x 输出max A A B B 法1 N Y

法2 ∠输入x max←X1 N B xmaX 1+1+1 max←X 输入x A B max 问题依次将10个数输入,要求将其中最小的数打印出来?22
输入x max ←x; i ←1 i ←1+1 imax max ←x 输出max A A B B 法2 问题 依次将10个数输入,要求将其中最小的数打印出来????? N Y

24-2输入10个数,找出最大一个数,并打印出来 main( fint max, x, 1 printf("nol=cY scanf%d”,&x) maxX - while(imax)max-X ritt max max)
2.4-2 输入10个数, 找出最大一个数,并打印出来 main( ) {int max,x,i; printf(“no1=“); scanf(“%d”,&x); max=x; i=1; while(imax) max=x; } printf(“max=%d”,max); }

243有3个数ab,c要求按大小顺序把它们打开印出来 main 输入a,bc Bint a.b.cx: printf(“a,b,e=“) Y scanf(“%d,%d,%d”,&a2c) b< x←b:b X: b-CC=X; N printi(“a2b,c=%d,%d,%d”, a, b,c); 输出a,bc
2.4-3 有3个数a,b,c,要求按大小顺序把它们打开印出来. 输入a,b,c ac) { x=b;b=c;c=x;} printf(“a,b,c=%d,%d,%d”, a,b,c); }

247求两个数mn的最大公约数 思考最大公约数的范围:~m,n中的最小值 输入mn 输入mn 求b=min{mnh 求b=min{mn} Y ob=0? and n%b (m%b=0? and n%b=0 Y
2.4-7 求两个数m,n的最大公约数 输入m,n 求b=min{m,n} m%b=0? and n%b=0? b=b-1 输出b 输入m,n 求b=min{m,n} !(m%b=0? and n%b=0?) b=b-1 输出b Y N Y N 思考 最大公约数的范围: 1~ m,n中的最小值
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 长江大学:《C语言程序设计》课程教学课件(PPT讲稿)第三章 数据类型、运算符与表达式(1/2).ppt
- 长江大学:《C语言程序设计》课程教学课件(PPT讲稿)第三章 数据类型、运算符与表达式(2/2).ppt
- 长江大学:《C语言程序设计》课程教学课件(PPT讲稿)第四章 简单C程序设计.ppt
- 长江大学:《C语言程序设计》课程教学课件(PPT讲稿)第五章 选择结构程序设计(1/2).ppt
- 《数据结构》课程电子教案(PPT课件讲稿,C语言版)第12章 动态存储管理.ppt
- 《数据结构》课程电子教案(PPT课件讲稿,C语言版)第11章 外排序.ppt
- 《数据结构》课程电子教案(PPT课件讲稿,C语言版)第10章 内排序.ppt
- 《数据结构》课程电子教案(PPT课件讲稿,C语言版)第09章 检索.ppt
- 《数据结构》课程电子教案(PPT课件讲稿,C语言版)第08章 图(李云清、杨庆红、揭安全).ppt
- 《数据结构》课程电子教案(PPT课件讲稿,C语言版)第07章 二叉树.ppt
- 《数据结构》课程电子教案(PPT课件讲稿,C语言版)第06章 树型结构.ppt
- 《数据结构》课程电子教案(PPT课件讲稿,C语言版)第05章 递归.ppt
- 《数据结构》课程电子教案(PPT课件讲稿,C语言版)第04章 字符串、数组和特殊矩阵.ppt
- 《数据结构》课程电子教案(PPT课件讲稿,C语言版)第1章 概论、第2章 线性表及其顺序存储、第3章 线性表的链式存储.ppt
- 《数据结构》课程电子教案(PPT课件讲稿,C语言版)第1章 概论、第2章 线性表及其顺序存储、第3章 线性表的链式存储.ppt
- 《数据结构》课程电子教案(PPT课件讲稿,C语言版)第1章 概论、第2章 线性表及其顺序存储、第3章 线性表的链式存储.ppt
- 《C语言程序设计》课程教学资源(PPT课件讲稿)第十章 指针.ppt
- 《C语言程序设计》课程教学资源(PPT课件讲稿)第九章 预处理命令.ppt
- 《C语言程序设计》课程教学资源(PPT课件讲稿)第八章 函数.ppt
- 《C语言程序设计》课程教学资源(PPT课件讲稿)C程序设计实验讲义.doc
- 长江大学:《C语言程序设计》课程教学课件(PPT讲稿)第二章 计算机算法(1/2).ppt
- 长江大学:《C语言程序设计》课程教学课件(PPT讲稿)第一章 C语言概述(主讲:张强).ppt
- 长江大学:《C语言程序设计》课程教学课件(PPT讲稿)第十三章 文件.ppt
- 长江大学:《C语言程序设计》课程教学课件(PPT讲稿)第十二章 位运算.ppt
- 长江大学:《C语言程序设计》课程教学课件(PPT讲稿)第十一章 结构体与共用体(2/2).ppt
- 长江大学:《C语言程序设计》课程教学课件(PPT讲稿)第十一章 结构体与共用体(1/2).ppt
- 长江大学:《C语言程序设计》课程教学课件(PPT讲稿)第十章 指针(3/3).ppt
- 长江大学:《C语言程序设计》课程教学课件(PPT讲稿)第十章 指针(2/3).ppt
- 长江大学:《C语言程序设计》课程教学课件(PPT讲稿)第十章 指针(1/3).ppt
- 长江大学:《C语言程序设计》课程教学课件(PPT讲稿)第九章 预处理命令.ppt
- 长江大学:《C语言程序设计》课程教学课件(PPT讲稿)第八章 函数(3/3).ppt
- 长江大学:《C语言程序设计》课程教学课件(PPT讲稿)第八章 函数(2/3).ppt
- 长江大学:《C语言程序设计》课程教学课件(PPT讲稿)第八章 函数(1/3).ppt
- 长江大学:《C语言程序设计》课程教学课件(PPT讲稿)第七章 数组(2/2).ppt
- 长江大学:《C语言程序设计》课程教学课件(PPT讲稿)第七章 数组(1/2).ppt
- 长江大学:《C语言程序设计》课程教学课件(PPT讲稿)第六章 循环控制(2/2).ppt
- 长江大学:《C语言程序设计》课程教学课件(PPT讲稿)第六章 循环控制(1/2).ppt
- 长江大学:《C语言程序设计》课程教学课件(PPT讲稿)第五章 选择结构程序设计(2/2).ppt
- 《ASP.NET 程序设计基础篇》PDF电子书(林煌章).pdf
- 高职高专现代信息技术系列教材:《数据结构》课程教学资源(PPT课件)第一章 数据结构基础概论.ppt