S4:若 i≤50, 返回 S2,否则,结束。
【例 2.3】判定 2000 — 2500 年中的每一年是否闰年,将结果输出。
润年的条件:
1) 能被 4 整除,但不能被 100 整除的年份;
2) 能被 100 整除,又能被 400 整除的年份;
设 y 为被检测的年份,则算法可表示如下:
S1: 2000→y
S2:若 y 不能被 4 整除,则输出 y“不是闰年”,然后转到 S6
S3:若 y 能被 4 整除,不能被 100 整除,则输出 y“是闰年”,然后转到 S6
S4:若 y 能被 100 整除,又能被 400 整除,输出 y“是闰年” 否则输出 y“不是闰年”,
然后转到 S6
S5:输出 y“不是闰年”。
S6:y+1→y
S7:当 y≤2500 时, 返回 S2 继续执行,否则,结束。
1
1
1
1
谭浩强 C 语言程序设计 2001 年 5 月 1 日
1
1 ? + ? + ... + ?
【例 2.4】求
2
3
4
99
100 。
算法可表示如下:
S1: sigh=1
S2: sum=1
S3: deno=2
S4: sigh=(-1)×sigh
S5: term= sigh×(1/deno )
S6: term=sum+term
S7: deno= deno +1
S8:若 deno≤100,返回 S4;否则,结束。
【例 2.5】对一个大于或等于 3 的正整数,判断它是不是一个素数。
算法可表示如下:
S1: 输入 n 的值
S2: i=2
S3: n 被 i 除,得余数 r
S4:如果 r=0,表示 n 能被 i 整除,则打印 n“不是素数”,算法结束;否则执行 S5
S5: i+1→i
S6:如果 i≤n-1,返回 S3;否则打印 n“是素数”;然后算法结束。
改进:
S6:如果i≤ n ,返回S3;否则打印n“是素数”;然后算法结束。
2.3 算法的特xìng
谭浩强 C 语言程序设计 2001 年 5 月 1 日
? 有穷xìng:一个算法应包含有限的cāo作步骤而不能是无限的。
? 确定xìng:算法中每一个步骤应当是确定的,而不能应当是含糊的、模棱两可的。
? 有零个或多个输入。
? 有一个或多个输出。
? 有效xìng:算法中每一个步骤应当能有效地执行,并得到确定的结果。
对于程序设计人员,必须会设计算法,并根据算法写出程序。
2.4 怎样表示一个算法
2.4.1 用自然语言表示算法
除了很简单的问题,一般不用自然语言表示算法。
2.