C语言与程序的算法(9)

发布时间:2021-06-05

C语言与程序的算法

例如在实例1-4中函数max()

z的值)返回给调用它的main()函数。

(5)有效性

有效性是指算法中的每一个操作步骤都应当有效地执行,并得到确定的结果。例如,若设x=1,a=0,则x/a是不能有效执行的。

1.3.2 算法描述方法

算法的描述方法有用自然语言表示算法、流程图表示算法、N-S盒图表示算法、伪代码表示算法、计算机语言表示算法等。下面重点介绍如何用自然语言、流程图和计算机语言描述算法。对于N-S盒图和伪代码表示算法的问题,请参考相关书籍。

1.用自然语言表示算法

自然语言就是人们日常使用的语言,可以是汉语、英语或其他语言。用自然语言表示算法,则算法通俗易懂,但文字冗长,容易出现歧义。自然语言所描述的内容往往不太严格,要根据上下文才能判断其正确含义。在算法分析的初始阶段使用自然语言描述算法是恰当的,尤其对于初学者来说,这是学习程序设计时迈出的第一步。

【实例1-5】 用自然语言描述1+2+3+ +1000的算法。

【分析】 对于此问题,人工计算时有两种方法:第一种方法是先进行1+2,再加3,再加4,一直加到1000,这种方法称为逐个相加法;第二种方法是进行(1+1000)+(2+999)+ (3+998)+ +(500+501)=500*1001=500500。逐个相加法虽然在人工计算时比较慢,但更具有规律性,因此适合计算机进行。在使用逐个相加法进行计算时,如果引入两个变量,一个变量代表要逐个相加的数,另一个变量代表每一次相加的结果。刚开始设前者的值为1,后者的值为0。在第一次将两个变量的值相加时,实际进行0和1相加,得1。然后,将结果1存入到后一个变量中,再将前一个变量的值增加1,进行第二次相加。在第二次将两个变量的值相加时,实际上进行1和2相加,得3。然后将结果3存入到后一个变量中,再将前一个变量的值增加1,再进行第三次相加 依此类推,直到前一个变量的值大于1000时,停止操作。最后,将后一个变量的值输出,所输出的结果就是希望得到的结果。而当计算停止的时候,我们一共重复了1000次相同的操作。

【算法】 现在设前一个变量为i,后一个变量s,在进行每一次重复操作之后增加逻辑判断,判断i的值是否大于1000,如果大于1000,则停止计算,否则重复相同操作。相应算法描述如下:

S1:把1存入变量i中;

S2:把0存入变量s中;

S3:把i的值和s的值相加,相加结果再次存入变量s中;

S4:把变量i的值增加1,相加结果再次存入变量i中;

S5:如果变量i的值不大于1000,则返回到S3,从第S3步起重复进行操作;否则继

C语言与程序的算法(9).doc 将本文的Word文档下载到电脑

精彩图片

热门精选

大家正在看

× 游客快捷下载通道(下载后可以自由复制和排版)

限时特价:7 元/份 原价:20元

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219