前言:
当前我们对“c语言常用算法举例”大约比较关怀,看官们都需要知道一些“c语言常用算法举例”的相关内容。那么小编在网摘上网罗了一些对于“c语言常用算法举例””的相关文章,希望看官们能喜欢,朋友们一起来学习一下吧!什么是算法?
做任何事情都有一定的步骤。
例如,你想从北京去香港开会,首先要去买飞机票,然后按时乘坐地铁达到机场,登上飞机,下飞机后打的去往会议目的地,参加会议。
要考大学,首先要填报志愿表,交报名费,拿到准考证,按时参加考试,得到录取通知书,到指定学校报到注册等。这些步骤都是按一定的顺序进行的,缺一不可,次序错了也不行。
实际上,在日常生活中,由于已养成习惯,所以人们并没有意识到没见事都需要事先设计出“行动步骤”。例如吃饭、上学和做作业等,事实上都是按照一定的规律进行的,知识人们不必每次都需要重复考虑它而已。
不要认为只有“计算”的问题才有算法,广义地说,为解决一个问题而采取的方法和步骤,就称为“算法”。
资料来源:百度百科。
在百度百科中是如何对“算法”进行定义的?
算法(Algorithm)是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,算法代表着用系统的方法描述解决问题的策略机制。
算法中的指令描述的是一个计算,当其运行时能从一个初始状态和(可能为空的)初始输入开始,经过一系列有限而清晰定义的状态,最终产生输出并停止于一个终态。一个状态到另一个状态的转移不一定是确定的。随机化算法在内的一些算法,包含了一些随机输入。
简单的算法举例
例如:求1 X 2 X 3 X 4 X 5
最原始的方法是:
步骤1:先求1 X 2,得到结果2。
步骤2:将步骤1得到的积再乘以3,得到结果6。
步骤3:将6再乘以4,得24。
步骤4:将24再乘以5,得到120。这就是最后的结果。
这样的算法虽然是正确的,但太繁琐。如果要求1 X 2 X……X 1000,则要写999个步骤,显然是不可取的。而且每次都要直接使用上一步骤的具体运算结果,也不方便。应当能找到一种通用的表示方法。
不妨可以设置两个变量,一个代表乘数,一个代表被乘数,不令设存放积的结果,而是直接将每一步骤的成绩放在被乘数变量中。
p=被乘数、i=乘数。用循环算法来求结果。改写如下:
S1:使p=1,或写成1→p
S2:使i=2,或写成2→i
S3:将p与i相乘,乘积仍放在变量p中,可表示为:p * i→p
S4:使i的值加1,即i+1→i
S5:如果i不大于5,返回重新执行S3及其后的步骤S4和S5;否则,算法结束。
可以看出用这种方法表示的算法具有一般性、通用性和灵活性。S3~S5组成一个循环,在满足某个条件(i≤5)时,反复多次执行S3,S4和S5的步骤,直到某一次执行S5步骤时,发现乘数i已经超过事先指定的数值(5)而不返回S3为止。此时算法结束,变量p的值就是所求结果。
由于计算机是告诉运算的机器,实现循环是轻而易举的,所有计算机高级语言中都有实现循环的语句,因此,上述算法不仅是正确的的,而且是计算机能方便实现的较好方法。
算法的特性都有哪些
为了能编写程序,必须学会设计算法。不要以为任意写出的一些执行步骤就构成一个算法。一个有效算法应该具有以下特点。
(1)有穷性。一个算法应包含有限的操作步骤,而不能是无限的。
(2)确定性。算法中的每一个步骤都应当是确定的,而不应当是含糊的、模棱两可的。
(3)有零个或多个输入。所谓输入是指在执行算法时需要从外界取得必要的信息。
(4)有一个或多个输出。算法的目的是为了求解,“解”就是输出。
(5)有效性。算法中的每一个步骤都应当有效地执行,并得到确定的结果。
算法如何表示
为了表示一个算法,可以用不同的方法。常用的方法有:自然语言、传统流程图、结构化流程图和伪代码等。
用流程图表示算法,下图为常用流程图符号
总结
以上就是今天的程序算法简介和算法的特性,以及算法流程图常用符号。
感谢阅读,欢迎在评论区中发表自己不同的观点,若有其他问题请在评论区留言,喜欢的朋友请多多关注转发支持一下。
可点击查看前两天的文章:
c语言,程序设计和c语言,c语言发展及其特点
喜欢的请多多关注哦!!!
标签: #c语言常用算法举例