字体
第(3/6)页
关灯
   存书签 书架管理 返回目录
 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.
上一页 目录 下一页