时间:2021-05-20
算法:简而言之就是求解问题的步骤,对特定问题求解步骤的一种描述。
比如生活中的例子:
考大学
首先填报志愿表、交报名费、拿到准考证、按时参加考试、收到录取通知书、按照日期到指定学校报到。
去北京听演唱会
首先在网上购票、然后按时坐车到北京,坐车到演唱会会场。
把大象放进冰箱
先打开冰箱门,然后将大象放进冰箱,关冰箱。
结构化算法:由一些顺序、选择、循环等基本结构按照顺序组成,流程的转移只存在于一个基本的范围之内。
结构化算法便于编写,可读性高,修改和维护起来简单,可以减少程序出错的机会,提高了程序的可靠性,保证了程序的质量,因此提倡结构化的算法。
结构化程序设计方法主要由以下三种基本结构组成:
重新设计基本结构要满足以下几点:
因此给出以下复习结构:while型和until型循环复合以及多选择结构
1.有两个瓶子A和B,分别盛放醋和酱油,要求将他们互换(即A瓶原来盛醋,现在盛酱油,B瓶则相反)。
解析:
用两个瓶子显然很难实现,可以借助一个空瓶子C作为中转,先将A中醋导入C中,然后将B中的酱油导入A中,最后将C中的醋导入B中即可实现交换。
2.依次将10个数输入,要求输出其中最大的数。
解析:
先输入10个整数,将第一个整数给max,然后依次取剩余整数与max进行比较,如果某个整数大于max,将该整数交给max,直到所有剩余整数全部比较完,max中保存的即为最大整数,将max值输出。
3.有3个数a,b,c, 要求按大小顺序把他们输出。
解析:
i:先用a和b比较,如果a大于b,将a与b内容交换,否则进行ii
ii:用c和a比较,如果c大于a,将a和c交换,否则进行iv
iii:用c和b比较,如果c大于b,将c和b进行交换,否则进行iv
iv:输出a、b、c,结束
4.求1 + 2 + 3 + … + 100。
解析:
给定N为1,sum为0,如果N 小于等于100时,进行sum += N,直到N超过100,循环操作完成后sum即为从1加到100的结果。
5.判断一个数n能否同时被3和5整除。
解析:
i:输入数据n
ii:如果n能被3整数,进行iii,否则输出n不能被3和5整数
iii:如果n能被5整数,输出n能被3和5整数,否则n不能被3和5整数
6.将100~200之间的素数输出
素数:即数学中的质数,因子只有1和其本身的数字称为质数。
对100和200之间的每个数进行一下操作:
该数能否被2~该数之间的所有数整除,是则是素数输出,否则取下一个数字。
7.求两个数m和n的最大公约数
解析:辗转相除法
a. 如果m大于n,交换m和n
b. 循环进行一下操作:
n是否为0? 是则最大公约数为m,输出m结束。
否则:用m%n结果给r,将n的值给m,将r的值给n
8.求方程 a x 2 + b x + c = 0 ax^2 + bx + c = 0 ax2+bx+c=0的根。分别考虑:
有两个不相等的实根;有两个相等的实根;
解析:
如果 b 2 − 4 a c > 0 b^2 - 4ac > 0 b2−4ac>0则方程有两个不相等的实根: x = − b ± b 2 − 4 a c 2 a x=\frac{-b\pm\sqrt{b^2-4ac}}{2a} x=2a−b±b2−4ac
如果 b 2 − 4 a c = 0 b^2 - 4ac = 0 b2−4ac=0则方程有一个实根: x = − b 2 a x=\frac{-b}{2a} x=2a−b
如果 b 2 − 4 a c < 0 b^2 - 4ac < 0 b2−4ac<0则方程没有实根。
1.有两个瓶子A和B,分别盛放醋和酱油,要求将他们互换(即A瓶原来盛醋,现在盛酱油,B瓶则相反)。
2.依次将10个数输入,要求输出其中最大的数。
3.有3个数a,b,c, 要求按大小顺序把他们输出。
4.求1 + 2 + 3 + … + 100。
5.判断一个数n能否同时被3和5整除。
6.求两个数m和n的最大公约数
7.求方程 a x 2 + b x + c = 0 ax^2 + bx + c = 0 ax2+bx+c=0的根。分别考虑:
有两个瓶子A和B,分别盛放醋和酱油,要求将他们互换(即A瓶原来盛醋,现在盛酱油,B瓶则相反)。
begin 醋 => A 酱油 => B A => C B => A C => Bend依次将10个数输入,要求输出其中最大的数。
begin 1 => i 0 => max while i < 10 { 输入一个整数data if data > max { data => max } } print maxend有3个数a,b,c, 要求按大小顺序把他们输出。
begin input a input b input c if a > b { a => t b => a t => b } if c > a { c => t a => c t => a } if c > b { c => t b => c t => b } print a print b print cend求1 + 2 + 3 + … + 100。
begin 1 => i 0 => sum while i <= 100 { sum + i => sum i + 1 => i } print sumend判断一个数n能否同时被3和5整除。
begin input n if n % 3 == 0 { if n % 5 == 0 { print n能被3和5整除 } else { print n不能被3和5整除 } } else { print n不能被3和5整除 }end求两个数m和n的最大公约数
begin input m input n if m > n { m => t n => m t => n } while n != 0 { m % n => r m => n r => n } print mend求方程 a x 2 + b x + c = 0 ax^2 + bx + c = 0 ax2+bx+c=0的根。分别考虑:
有两个不相等的实根;
有两个相等的实根;
begin input a input b input c b*b - 4*a*c => p if p < 0 { print 方程没有实根 } if p == 0 { print 方程有一个实根 -b/2a } if p > 0 { print 方程有两个实根: print x1 = {-b + sqrt(b^2 - 4ac)}/2a print x1 = {-b - sqrt(b^2 - 4ac)}/2a }end结构化程序设计(structured programming,简称SP)是进行以模块功能和处理过程设计为主的详细设计的基本原则。其概念最早由E.W.Dijikstra在1965年提出的。结构化程序设计思想确实使程序执行效率提高 ,是软件发展的一个重要的里程碑,它的主要观点是采用自顶向下、逐步求精的程序设计方法;各个模块通过“顺序、选择、循环”的控制结构进行连接,并且只有一个入口、一个出口 。
输出1900—2000年中是软黏的年份,符合下面两个条件之一的年份是闰年:
算法大体流程
1. 循环取1900到2000中的每一个年份
2. 对于每一个年份判断其是否是闰年
3. 是闰年则输出
判断一年是否是闰年:
1. 如果该年份内被4整除但是不能被100整除是闰年,否则不是闰年
2. 如果年份能被400整除则是闰年,否则不是闰年
求 a x 2 + b x + c = 0 ax^2 + bx + c = 0 ax2+bx+c=0的根。分别考虑 d = b 2 − 4 a c d = b^2 - 4ac d=b2−4ac大于0、等于0和小于0这三种情况。
1. 获取a b c的值
2. 计算b^2 - 4ac的结果并给p
3. 如果p < 0, 则方程没有实根
4. 如果p == 0,则方程有一个实根-b/2a
5. 如果p > 0, 则方程有两个实根 x1 = {-b + sqrt(b^2 - 4ac)}/2a x2 = {-b - sqrt(b^2 - 4ac)}/2a
输入10个数,输出其中最大的一个数。
1. 给一个max保存最大值
2. 分别输入10个数,并对用每个数与max进行比较
如果该数大于max,则将该数给max
3. 输出max
到此这篇关于C程序设计第五版谭浩强课后答案(第二章答案)的文章就介绍到这了,更多相关C程序课后答案内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
《外贸来函电》这门课程有十一章自内容,包括:bai第一章商务信函的格式、du第二章商务信函的写作原则、第三章建立dao业务关系、第四章询盘、第五章报盘、第六章C
2008年的时候,在学习Javahowtoprogram第五版的时候,写过一个猜数字小游戏,是用Applet写的;现在,我要用Swing重写这个小游戏,同时,加
俄罗斯爆料大神WZor在推特上放出了WindowsServer2016技术预览第五版(TP5)14291的ISO系统镜像下载,并给出了安装截图。此为英文版镜像,
7月17日消息,《》获悉,7月16日,国家邮政局办公室印发《疫情防控期间邮政快递业生产操作规范建议(第五版)》(以下简称“规范建议”),
MessageDigestAlgorithmMD5(中文名为消息摘要算法第五版)为计算机安全领域广泛使用的一种散列函数,是一种比较常用的哈希算法。java中可以