C语言经典算法整理.pdf
《C语言经典算法整理.pdf》由会员分享,可在线阅读,更多相关《C语言经典算法整理.pdf(52页珍藏版)》请在麦多课文档分享上搜索。
1、C 语言经典算法整理 【 程 序 1 】 题 目 : 有 1 、 2 、 3 、 4 个 数 字 , 能 组 成 多 少 个 互 不 相 同 且 无 重 复 数 字 的 三 位 数 ? 都 是 多 少 ? 1 . 程 序 分 析 : 可 填 在 百 位 、 十 位 、 个 位 的 数 字 都 是 1 、 2 、 3 、 4 。 组 成 所 有 的 排 列 后 再 去 掉 不 满 足 条 件 的 排 列 。 2 . 程 序 源 代 码 : m a i n ( ) i n t i , j , k ; p r i n t f ( “ n “ ) ; f o r ( i = 1 ; i 5 ; i +
2、 + ) * 以 下 为 三 重 循 环 * / f o r ( j = 1 ; j 5 ; j + + ) f o r ( k = 1 ; k 5 ; k + + ) i f ( i ! = k = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = 【 程 序 2 】 题 目 : 企 业 发 放 的 奖 金 根 据 利 润 提 成 。 利 润 ( I ) 低 于 或 等 于 1 0 万 元 时 , 奖
3、 金 可 提 1 0 % ; 利 润 高 于 1 0 万 元 , 低 于 2 0 万 元 时 , 低 于 1 0 万 元 的 部 分 按 1 0 % 提 成 , 高 于 1 0 万 元 的 部 分 , 可 可 提 成 7 . 5 % ; 2 0 万 到 4 0 万 之 间 时 , 高 于 2 0 万 元 的 部 分 , 可 提 成 5 % ; 4 0 万 到 6 0 万 之 间 时 高 于 4 0 万 元 的 部 分 , 可 提 成 3 % ; 6 0 万 到 1 0 0 万 之 间 时 , 高 于 6 0 万 元 的 部 分 , 可 提 成 1 . 5 % , 高 于 1 0 0 万 元 时
4、 , 超 过 1 0 0 万 元 的 部 分 按 1 % 提 成 , 从 键 盘 输 入 当 月 利 润 I , 求 应 发 放 奖 金 总 数 ? 1 . 程 序 分 析 : 请 利 用 数 轴 来 分 界 , 定 位 。 注 意 定 义 时 需 把 奖 金 定 义 成 长 整 型 。 2 . 程 序 源 代 码 : m a i n ( ) l o n g i n t i ; i n t b o n u s 1 , b o n u s 2 , b o n u s 4 , b o n u s 6 , b o n u s 1 0 , b o n u s ; s c a n f ( “ % l d
5、 “ , b o n u s 1 = 1 0 0 0 0 0 * 0 . 1 ; b o n u s 2 = b o n u s 1 + 1 0 0 0 0 0 * 0 . 7 5 ; b o n u s 4 = b o n u s 2 + 2 0 0 0 0 0 * 0 . 5 ; b o n u s 6 = b o n u s 4 + 2 0 0 0 0 0 * 0 . 3 ; b o n u s 1 0 = b o n u s 6 + 4 0 0 0 0 0 * 0 . 1 5 ; i f ( i = 1 0 0 0 0 0 ) b o n u s = i * 0 . 1 ; e l s
6、 e i f ( i = 2 0 0 0 0 0 ) b o n u s = b o n u s 1 + ( i - 1 0 0 0 0 0 ) * 0 . 0 7 5 ; e l s e i f ( i = 4 0 0 0 0 0 ) b o n u s = b o n u s 2 + ( i - 2 0 0 0 0 0 ) * 0 . 0 5 ; e l s e i f ( i = 6 0 0 0 0 0 ) b o n u s = b o n u s 4 + ( i - 4 0 0 0 0 0 ) * 0 . 0 3 ; e l s e i f ( i = 1 0 0 0 0 0 0 )
7、 b o n u s = b o n u s 6 + ( i - 6 0 0 0 0 0 ) * 0 . 0 1 5 ; e l s eb o n u s = b o n u s 1 0 + ( i - 1 0 0 0 0 0 0 ) * 0 . 0 1 ; p r i n t f ( “ b o n u s = % d “ , b o n u s ) ; = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
8、= = 【 程 序 3 】 题 目 : 一 个 整 数 , 它 加 上 1 0 0 后 是 一 个 完 全 平 方 数 , 再 加 上 1 6 8 又 是 一 个 完 全 平 方 数 , 请 问 该 数 是 多 少 ? 1 . 程 序 分 析 : 在 1 0 万 以 内 判 断 , 先 将 该 数 加 上 1 0 0 后 再 开 方 , 再 将 该 数 加 上 2 6 8 后 再 开 方 , 如 果 开 方 后 的 结 果 满 足 如 下 条 件 , 即 是 结 果 。 请 看 具 体 分 析 : 2 . 程 序 源 代 码 : # i n c l u d e “ m a t h . h “
9、m a i n ( ) l o n g i n t i , x , y , z ; f o r ( i = 1 ; i 1 0 0 0 0 0 ; i + + ) x = s q r t ( i + 1 0 0 ) ; / * x 为 加 上 1 0 0 后 开 方 后 的 结 果 * / y = s q r t ( i + 2 6 8 ) ; / * y 为 再 加 上 1 6 8 后 开 方 后 的 结 果 * / i f ( x * x = = i + 1 0 0 = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
10、= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = 【 程 序 4 】 题 目 : 输 入 某 年 某 月 某 日 , 判 断 这 一 天 是 这 一 年 的 第 几 天 ? 1 . 程 序 分 析 : 以 3 月 5 日 为 例 , 应 该 先 把 前 两 个 月 的 加 起 来 , 然 后 再 加 上 5 天 即 本 年 的 第 几 天 , 特 殊 情 况 , 闰 年 且 输 入 月 份 大 于 3 时 需 考 虑 多 加 一 天 。 2 . 程 序 源 代 码 : m a i n ( ) i n t d a y ,
11、m o n t h , y e a r , s u m , l e a p ; p r i n t f ( “ n p l e a s e i n p u t y e a r , m o n t h , d a y n “ ) ; s c a n f ( “ % d , % d , % d “ , s w i t c h ( m o n t h ) / * 先 计 算 某 月 以 前 月 份 的 总 天 数 * / c a s e 1 : s u m = 0 ; b r e a k ; c a s e 2 : s u m = 3 1 ; b r e a k ; c a s e 3 : s u
12、m = 5 9 ; b r e a k ; c a s e 4 : s u m = 9 0 ; b r e a k ; c a s e 5 : s u m = 1 2 0 ; b r e a k ; c a s e 6 : s u m = 1 5 1 ; b r e a k ; c a s e 7 : s u m = 1 8 1 ; b r e a k ; c a s e 8 : s u m = 2 1 2 ; b r e a k ; c a s e 9 : s u m = 2 4 3 ; b r e a k ; c a s e 1 0 : s u m = 2 7 3 ; b r e a k
13、; c a s e 1 1 : s u m = 3 0 4 ; b r e a k ; c a s e 1 2 : s u m = 3 3 4 ; b r e a k ; d e f a u l t : p r i n t f ( “ d a t a e r r o r “ ) ; b r e a k ; s u m = s u m + d a y ; / * 再 加 上 某 天 的 天 数 * / i f ( y e a r % 4 0 0 = = 0 | | ( y e a r % 4 = = 0 e l s e l e a p = 0 ; i f ( l e a p = = 1 p r
14、i n t f ( “ I t i s t h e % d t h d a y . “ , s u m ) ; = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = 【 程 序 5 】 题 目 : 输 入 三 个 整 数 x , y , z , 请 把 这 三 个 数 由 小 到 大 输 出 。 1 . 程 序 分 析 : 我 们 想 办 法 把 最 小 的 数 放 到 x 上 , 先 将 x 与 y
15、进 行 比 较 , 如 果 x y 则 将 x 与 y 的 值 进 行 交 换 , 然 后 再 用 x 与 z 进 行 比 较 , 如 果 x z 则 将 x 与 z 的 值 进 行 交 换 , 这 样 能 使 x 最 小 。 2 . 程 序 源 代 码 : m a i n ( ) i n t x , y , z , t ; s c a n f ( “ % d % d % d “ , i f ( x y ) t = x ; x = y ; y = t ; / * 交 换 x , y 的 值 * / i f ( x z ) t = z ; z = x ; x = t ; / * 交 换 x ,
16、z 的 值 * / i f ( y z ) t = y ; y = z ; z = t ; / * 交 换 z , y 的 值 * / p r i n t f ( “ s m a l l t o b i g : % d % d % d n “ , x , y , z ) ; = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = 【 程 序 6 】 题 目 : 用 * 号 输 出 字 母 C 的 图 案
17、。 1 . 程 序 分 析 : 可 先 用 * 号 在 纸 上 写 出 字 母 C , 再 分 行 输 出 。 2 . 程 序 源 代 码 : # i n c l u d e “ s t d i o . h “ m a i n ( ) p r i n t f ( “ H e l l o C - w o r l d ! n “ ) ; p r i n t f ( “ * * * * n “ ) ; p r i n t f ( “ * n “ ) ; p r i n t f ( “ * n “ ) ; p r i n t f ( “ * * * * n “ ) ; = = = = = = = =
18、= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = 【 程 序 7 】 题 目 : 输 出 特 殊 图 案 , 请 在 c 环 境 中 运 行 , 看 一 看 , V e r y B e a u t i f u l ! 1 . 程 序 分 析 : 字 符 共 有 2 5 6 个 。 不 同 字 符 , 图 形 不 一 样 。 2 . 程 序 源 代 码 : # i n c l u d e “ s t d i o . h “ m a
19、i n ( ) c h a r a = 1 7 6 , b = 2 1 9 ;p r i n t f ( “ % c % c % c % c % c n “ , b , a , a , a , b ) ; p r i n t f ( “ % c % c % c % c % c n “ , a , b , a , b , a ) ; p r i n t f ( “ % c % c % c % c % c n “ , a , a , b , a , a ) ; p r i n t f ( “ % c % c % c % c % c n “ , a , b , a , b , a ) ; p r i
20、 n t f ( “ % c % c % c % c % c n “ , b , a , a , a , b ) ; = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = 【 程 序 8 】 题 目 : 输 出 9 * 9 口 诀 。 1 . 程 序 分 析 : 分 行 与 列 考 虑 , 共 9 行 9 列 , i 控 制 行 , j 控 制 列 。 2 . 程 序 源 代 码 : # i n c l
21、 u d e “ s t d i o . h “ m a i n ( ) i n t i , j , r e s u l t ; p r i n t f ( “ n “ ) ; f o r ( i = 1 ; i 1 0 ; i + + ) f o r ( j = 1 ; j 1 0 ; j + + ) r e s u l t = i * j ; p r i n t f ( “ % d * % d = % - 3 d “ , i , j , r e s u l t ) ; / * - 3 d 表 示 左 对 齐 , 占 3 位 * / p r i n t f ( “ n “ ) ; / * 每
22、 一 行 后 换 行 * / = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = 【 程 序 9 】 题 目 : 要 求 输 出 国 际 象 棋 棋 盘 。 1 . 程 序 分 析 : 用 i 控 制 行 , j 来 控 制 列 , 根 据 i + j 的 和 的 变 化 来 控 制 输 出 黑 方 格 , 还 是 白 方 格 。 2 . 程 序 源 代 码 : # i n c l u d e “ s
23、 t d i o . h “ m a i n ( ) i n t i , j ; f o r ( i = 0 ; i 8 ; i + + ) f o r ( j = 0 ; j 8 ; j + + ) i f ( ( i + j ) % 2 = = 0 ) p r i n t f ( “ % c % c “ , 2 1 9 , 2 1 9 ) ; e l s e p r i n t f ( “ “ ) ; p r i n t f ( “ n “ ) ; = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
24、 = = = = = = = = = = = = = = = = = = = = = = = = = = 【 程 序 1 0 】 题 目 : 打 印 楼 梯 , 同 时 在 楼 梯 上 方 打 印 两 个 笑 脸 。 1 . 程 序 分 析 : 用 i 控 制 行 , j 来 控 制 列 , j 根 据 i 的 变 化 来 控 制 输 出 黑 方 格 的 个 数 。 2 . 程 序 源 代 码 : # i n c l u d e “ s t d i o . h “ m a i n ( ) i n t i , j ; p r i n t f ( “ 1 1 n “ ) ; / * 输 出 两 个
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 经典 算法 整理 PDF
