1. 输 入 - 处 理 - 输 出 01. 从 键 盘 上 输 入 两 个 整 数, 求 出 它 们 的 和 02. 已 知 三 角 形 的 底 和 高, 求 出 三 角 形 的 面 积 C 语 言 基 础 练 习 100 题 03. 从 键 盘 上 输 入 三 角 形 的 底 和 高, 求 出 三 角 形 的 面 积 ( 利 用 题 1 和 题 2 函 数 ) 04. 从 键 盘 上 输 入 三 角 形 的 三 边 长, 求 出 三 角 形 的 面 积 05. 从 键 盘 上 输 入 二 元 一 次 方 程 的 三 个 系 数, 求 方 程 的 一 个 根 2. if 语 句 06. 实 现 符 号 函 数 当 x<0, 则 sgn(x)=-1, 当 x>0, 则 sgn(x)=+1, 当 x=0, 则 sgn(x)=0 07. 从 键 盘 输 入 三 角 形 的 三 边 长, 判 断 出 这 三 边 能 否 构 成 三 角 形 08. 从 键 盘 输 入 三 个 整 数, 将 这 三 个 数 按 从 大 到 小 的 顺 序 排 列 起 来 起 来 后 输 出 09. 从 键 盘 输 入 三 个 实 数, 输 出 最 大 值 10. 从 键 盘 输 入 三 个 整 数, 在 一 个 程 序 中 既 要 求 出 最 大 值, 还 要 求 出 最 小 值 3. switch() 语 句 11. 从 键 盘 上 输 入 数 字 星 期, 在 屏 幕 上 显 示 对 应 英 文 星 期 的 单 词 12. 从 键 盘 上 输 入 数 字 月 份, 在 屏 幕 上 显 示 对 应 英 文 月 份 的 单 词 13. 从 键 盘 上 输 入 一 个 数, 用 符 号 函 数 实 现 输 出 是 大 于 0, 等 于 0 和 小 于 0 14. 先 在 屏 幕 上 显 示 a - 菜 单 1 b - 菜 单 2 c - 菜 单 3 d - 退 出 再 输 入 a,b,c,d, 或 A,B,C,D, 输 入 a 或 A 时 显 示 " 您 选 择 了 菜 单 1", 输 入 b 或 B 时 显 示 " 您 选 择 了 菜 单 2" 输 入 d 或 C 时 显 示 " 您 选 择 了 菜 单 3" 输 入 e 或 E 时 显 示 " 您 选 择 了 退 出 " 输 入 其 它 字 符 时 显 示 " 该 功 能 不 存 在 " 15. 定 义 下 列 常 量 #define VK_BACKSPACE 100 // 对 应 前 删 键 #define VK_INSERT 101 // 对 应 插 入 键 #define VK_ENTER 102 // 对 应 回 车 键 #define VK_SPACE 103 // 对 应 空 格 键 在 键 盘 上 输 入 上 述 按 键 后 输 出 上 面 的 常 量 数 字, 其 它 键 则 输 出 对 应 键 ASCII 码 的 十 进 制 数 提 示 : 键 盘 单 键 输 入 可 用 库 函 数 getchar() 或 getch(), 其 原 型 定 义 在 头 文 件 为 conio.h 4. 循 环 语 句 16 使 用 if 和 goto 语 句 求 出 1 到 100 的 累 加 和 ( 皆 用 累 加 而 不 用 公 式 ) 17. 使 用 for 循 环 编 程 求 出 1 到 100 的 累 加 和 18. 使 用 while 循 环 编 程 求 出 1 到 100 的 累 加 和 19. 使 用 do-while 循 环 编 程 求 出 1 到 100 的 和 20. 从 键 盘 输 入 10 个 整 数 和 实 数 ( 用 函 数 重 载 实 现 ) 到 一 个 数 组 中, 输 出 最 小 值 最 大 值 平 均 值 均 方 和 21. 从 键 盘 输 入 10 个 整 数, 求 出 它 们 的 平 均 值 及 比 平 均 值 大 的 数
22. 用 Taylor 级 数 展 开 式 的 前 20 项 和 求 PI 的 近 似 值 23. 输 入 一 个 整 数 矩 阵, 求 矩 阵 中 的 最 大 无 素 及 下 标, 最 小 无 素 及 下 标, 所 有 元 素 的 平 均 值 24. 输 入 一 个 每 个 元 素 类 型 为 unsigned char 的 矩 阵, 统 计 并 输 出 矩 阵 中 取 值 为 0,1,...,255 的 元 素 个 数 25. 输 入 二 个 矩 阵, 输 出 二 个 矩 阵 的 乘 积 5. 字 符 和 字 符 串 26. 输 入 一 个 小 字 字 母, 输 出 相 应 大 定 写 母 27. 输 入 一 个 字 符 串, 把 其 中 的 所 有 小 字 字 母 转 变 为 大 字 字 母 后 输 出 该 字 符 串 28. 从 键 盘 上 输 入 两 个 字 符 串, 并 将 它 们 交 换 后 输 出 29. 用 10 进 制 和 16 进 制 格 式 打 印 ASCII 字 符 表 30. 查 找 帮 助, 自 己 实 现 int isalnum(int ch), int isdigit(char ch), int islower(char ch), int isupper(char xh), char tolower(char ch), char toupper(char ch), 31. 查 找 帮 助, 自 己 实 现 char *strcat(char *str1,char *str2) int strcmp(char *str1, char *str2) char *strcpy(char *str1,char *str2) unsigned int strle(char *str) char *strstr(char *str1, char *str2) 32. 已 知 五 个 字 符 串 "China","American","Japan","France","Australia", 编 程 将 它 们 按 从 小 到 大 的 顺 序 排 列 起 来 并 输 出 33. 输 入 一 个 汉 字, 用 16 进 制 输 出 这 一 汉 字 二 个 字 节 对 应 的 国 标 码 34. 输 入 二 个 范 围 为 128-250 的 unsigned char 的 字 符 整 数, 把 这 二 个 数 放 入 一 个 字 符 串 中 输 出 对 应 汉 字 35. 读 入 一 个 西 文 文 本 文 件, 找 出 文 件 中 的 不 同 字 符, 对 各 个 不 同 字 符 的 出 现 次 数 进 行 统 计 并 输 出 6. 文 件 输 入 输 出 36. 将 16 个 整 数 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15 写 到 aaa1.txt 的 文 本 文 件 中, 并 用 记 事 本 打 开 查 看 37. 将 16 个 整 数 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15 写 到 aaa1.dat 的 二 进 制 文 件 中, 并 用 VC 以 二 进 制 方 式 打 开 进 行 查 看 38. 将 16 个 float 数 0.0,1.0,2.0,3.0,4.0,5.0,6.0,7.0,8.0,9.0,10.0,11.0,12.0,13.0,14.0,15.0 写 到 aaa2.txt 的 文 本 文 件 中, 并 用 记 事 本 打 开 查 看 39. 将 16 个 float 数 0.0,1.0,2.0,3.0,4.0,5.0,6.0,7.0,8.0,9.0,10.0,11.0,12.0,13.0,14.0,15.0 写 到 aaa2.dat 的 二 进 制 文 件 中, 并 用 VC 以 二 进 制 方 式 打 开 进 行 查 看 40. 读 入 aaa1.txt 到 变 量 中 并 显 示 其 值. 41. 读 入 aaa1.dat 到 变 量 中 并 显 示 其 值. 42. 读 入 aaa2.txt 到 变 量 中 并 显 示 其 值. 43. 读 入 aaa2.dat 到 变 量 中 并 显 示 其 值. 44. 用 记 事 本 编 写 一 个 文 本 文 件, 在 屏 幕 上 显 示 该 文 本 文 件 内 容 45. 用 画 笔 作 图 后 存 入 文 件, 从 该 BMP 文 件 中 读 出 并 显 示 该 图 片 的 长, 宽 和 颜 色 数 7. 非 数 值 算 法 等 46. 编 程 在 屏 幕 上 输 出 如 下 所 示 的 具 有 7 行 的 正 三 角 形
* *** ***** ******* ********* *********** ************* 47. 从 键 盘 输 入 一 个 整 数, 判 断 这 个 数 是 否 为 素 数 48. 从 键 盘 输 入 一 个 整 数, 把 此 数 分 解 为 素 数 相 乘 49. 从 键 盘 输 入 10 个 整 数 和 实 数, 将 它 们 按 从 大 到 小 的 顺 序 排 列 起 来. 50. 找 一 个 最 小 的 自 然 数 x, 使 它 等 于 不 同 的 两 对 自 然 数 的 三 次 幂 之 和, 即 使 得 : x=a*a*a+b*b*b=c*c*c+d*d*d 其 中 a,b,c,d 都 是 自 然 数, 且 有 a!=c 和 a!=d 51. 某 班 有 43 名 学 生, 某 门 考 试 结 束 后, 请 按 10 段 统 计 出 各 分 数 段 的 人 数 52. 找 一 个 最 小 的 自 然 数, 使 它 等 于 不 同 的 两 组 三 个 自 然 数 的 三 次 幂 之 和, 即 找 最 小 的 x, 使 得 : x=a*a*a+b*b*b+c*c*c = d*d*d+e*e*e+f*f*f 其 中,a,b,c,d,e,f 都 是 自 然 数,a<=b<=c, d<=e<=f; [a,b,c]!=[d,e,f] 53. 试 从 含 有 n 个 int 型 数 的 数 组 中 删 去 若 干 个 成 分, 使 剩 下 的 全 部 成 分 构 成 一 个 不 减 的 子 序 列, 并 设 计 算 法 和 编 写 程 序 求 出 数 组 的 不 减 子 序 列 的 长 54. 从 n 个 不 同 价 值 不 同 重 量 的 物 品 中 选 取 一 部 分, 在 不 超 过 限 定 的 总 重 量 的 前 提 下, 使 该 部 分 的 价 值 最 大 这 里 假 定 的 总 重 量 不 超 过 n 个 物 品 的 总 重 量 总 和, 且 没 有 一 样 物 品 的 重 量 超 过 限 定 的 总 重 量 55. 设 有 大 小 不 等 的 X,Y,Z 三 个 无 刻 度 的 油 桶, 分 别 能 够 盛 满 油 X,Y,Z( 例 如,X=80,Y=50,Z=30), 并 约 定 X>Y>Z 初 始 时, 仅 X 油 桶 盛 满 油,Y 和 Z 油 桶 为 空 要 求 程 序 寻 找 一 种 最 少 的 分 油 步 聚, 在 某 个 油 桶 中 分 出 T 升 油 ( 例 如 T=40) 8. 数 值 算 法 56. 查 找 帮 助, 自 己 实 现 double sqrt(double x), 使 用 Newton 迭 代 57. 查 找 帮 助, 自 己 实 现 double cos( double x) 58. 查 找 帮 助, 自 己 实 现 double exp( double x) 59. 查 找 帮 助, 自 己 实 现 double fabs( double x) 60. 查 找 帮 助, 自 己 实 现 double log(double x) 61. 查 找 帮 助, 自 己 实 现 double pow(double x,double y) 62. 设 计 线 性 插 值 程 序 63. 设 计 抛 物 插 值 程 序 64. 设 计 n 次 Lagrange 插 值 程 序 65. 设 计 简 单 迭 代 程 序 66. 设 计 Newton 迭 代 程 序 67. 设 计 Jacobi 迭 代 求 n 阶 线 性 代 数 方 程 组 的 解 的 程 序 68. 设 计 Gauss-Seidel 迭 代 求 n 阶 线 性 代 数 方 程 组 的 解 的 程 序 69. 设 计 求 三 对 角 方 程 组 的 解 的 程 序 70. 设 计 用 经 典 4 阶 Runge-Kutta 公 式 求 一 阶 常 微 分 方 程 初 值 问 题 71. 设 计 用 复 化 梯 型 公 式 求 定 积 分 程 序 72. 设 计 用 Romberg 算 法 求 定 积 分 的 程 序 73. 设 计 用 改 进 Euler 公 式 求 一 阶 常 微 分 方 程 初 值 问 题
74. 设 计 用 列 选 主 元 求 方 程 组 解 的 程 序 75. 输 入 一 组 点 的 坐 标, 输 出 相 应 三 次 拟 合 多 项 式 的 4 个 系 数 9. 数 据 处 理 及 有 关 C++ 是 类 76. 编 写 一 个 程 序, 设 计 一 个 点 类 Point, 求 两 个 点 之 间 的 距 离 77. 有 一 个 向 量 类 Vector, 包 括 一 个 点 的 坐 标 位 置 x 和 y, 设 计 两 个 友 元 函 数, 实 现 两 个 向 量 的 加 法 和 减 法 的 运 算 78. 设 计 一 个 类 Sample, 有 一 个 私 有 数 据 成 员, 建 立 该 类 的 四 个 对 象 s1(n=10) s2(n=20) s3(n=30) 和 s4(n=40), 建 立 一 个 成 员 函 数 实 现 这 些 对 象 n 值 的 累 加 79. 设 计 一 个 类 Sample, 实 现 两 个 复 数 的 +,-,*,/ 运 算 80. 设 计 一 个 立 方 体 类 Box, 它 能 计 算 并 输 出 立 方 体 的 体 积 和 表 面 积 81. 编 写 一 个 程 序 设 计 一 个 汽 车 类 vehicle, 包 含 的 数 据 成 员 有 车 轮 个 数 wheels 和 车 重 weight 小 车 类 car 是 它 的 私 有 派 生 类 其 中 包 含 载 人 数 passenger_load 卡 车 类 truck 是 vehicle 的 私 有 派 生 类 其 中 包 含 载 人 数 passenger_load 和 载 重 量 payload, 每 个 类 都 有 相 关 数 据 的 输 出 方 法 82. 设 计 一 个 圆 类 circle 和 一 个 桌 子 类 table, 另 设 计 一 个 圆 桌 类 roundtable, 它 是 从 前 两 个 类 派 生 的, 要 求 输 出 一 个 圆 桌 的 高 度 面 积 和 颜 色 等 数 据 83. 编 写 一 个 程 序, 输 入 n 个 学 生 的 姓 名 和 出 生 日 期, 并 按 年 龄 从 大 到 小 输 出 84. 编 写 一 个 程 序, 已 有 若 干 学 生 数 据, 包 括 学 号 姓 名 成 绩, 要 求 输 出 这 些 学 生 数 据 并 计 算 平 均 分 85. 编 写 一 个 程 序, 输 入 N 个 学 生 数 据, 包 括 学 号 姓 名 成 绩, 要 求 只 输 出 成 绩 在 80~89 分 的 学 生 数 据 86. 编 写 一 个 程 序, 统 计 学 生 成 绩, 其 功 能 包 括 输 入 学 生 的 姓 名 和 成 绩, 按 成 绩 从 高 到 低 排 列 打 印 输 出, 对 前 %70 的 学 生 定 为 合 格 (PASS), 而 后 30% 的 学 生 定 为 不 合 格 (FAIL) 87. 编 写 一 个 程 序, 已 有 若 干 个 学 生 数 据, 这 些 数 据 包 括 学 号 姓 名 语 文 成 绩 数 学 成 绩 和 英 语 成 绩, 求 各 门 功 课 的 平 均 分 要 求 设 计 不 同 的 成 员 函 数 求 各 门 课 程 的 平 均 分, 并 使 用 成 员 函 数 指 针 调 用 它 们 88. 有 一 个 学 生 类 student, 包 括 学 生 姓 名 成 绩, 设 计 一 个 友 元 函 数, 比 较 两 个 学 生 成 绩 的 高 低, 并 求 出 最 高 分 和 最 低 分 的 学 生 89. 有 一 个 学 生 类 student, 包 括 学 生 姓 名 成 绩, 设 计 一 个 友 元 函 数, 输 出 成 绩 对 应 的 等 级 : 大 于 等 于 90. 优 ;80~90: 良 ;70~79: 中 ;60!69: 及 格 ; 小 于 60: 不 及 格 90. 有 若 干 教 师, 每 个 教 师 只 有 姓 名, 一 个 教 师 可 以 指 导 多 名 研 究 生 ; 每 名 研 究 生 有 姓 名 研 究 方 向 和 班 号 数 据, 编 写 一 个 程 序, 要 求 输 出 每 个 教 师 指 导 的 所 有 研 究 生 的 姓 名 研 究 方 向 和 班 号 数 据 91. 编 写 一 个 程 序, 设 计 一 个 职 工 类 Person, 一 个 系 有 若 干 个 职 工, 按 职 务 分 为 系 主 任 室 主 任 和 职 工, 给 出 他 们 之 间 的 领 导 关 系 92. 创 建 一 个 employee 类, 该 类 中 有 字 符 数 组, 表 示 姓 名 街 道 地 址 市 省 和 邮 政 编 码 把 表 示 构 造 函 数 changname() display() 的 函 数 的 原 型 放 在 类 定 义 中, 构 造 函 数 初 始 化 每 个 成 员,display() 函 数 把 完 整 的 对 象 数 据 打 印 出 来 其 中 的 数 据 成 员 是 保 护 的, 函 数 是 公 共 的 93. 修 改 前 一 题 的 类, 将 姓 名 构 成 类 name, 其 名 和 姓 在 该 类 中 为 保 护 数 据 成 员, 其 构 造 函 数 为 接 收 一 个 指 向 完 整 姓 名 字 符 串 的 指 针, 其 display() 函 数 输 出 姓 名 然 后 将 employee 类 中 的 姓 名 成 员 ( 字 符 数 组 ) 换 成 name 类 对 象 94. 设 计 一 个 Bank 类, 实 现 银 行 某 账 号 的 资 金 往 来 账 目 管 理, 包 括 建 账 号 存 入 取 出 等 95. 设 计 一 个 Book 类, 包 含 图 书 的 书 名 作 者 月 销 售 量 等 数 据 成 员, 其 中 书 名 和 作 者 采 用 字 符 型 指 针, 另 有 两 个 构 造 函 数 一 个 析 构 函 数 和 两 个 成 员 函 数 setbook() 和 print(), 其 中 setbook() 用 于 设 置 数 据,void print() 用 于 输 出 数 据 96. 编 写 一 个 程 序, 在 已 设 置 好 若 干 个 用 户 名 / 口 令 后, 通 过 输 入 用 户 名, 查 找 对 应 的 口 令, 连 续 执 行 这 一 过 程 直 到 用 户 输 入 结 束 标 记 ( end ) 为 止
97. 编 写 一 个 程 序, 输 入 用 户 的 姓 名 和 电 话 号 码, 按 姓 名 的 词 典 顺 序 排 列 后, 输 出 用 户 的 姓 名 和 电 话 号 码 98. 设 计 一 个 虚 基 类 base, 包 含 姓 名 和 年 龄 私 有 数 据 成 员 以 及 相 关 的 成 员 函 数, 由 它 派 生 出 领 导 类 leader, 包 含 职 务 和 部 门 私 有 数 据 成 员 以 及 相 关 的 成 员 函 数 再 由 base 派 生 出 工 程 师 类 engineer, 包 含 职 称 和 专 业 私 有 数 据 成 员 以 及 相 关 的 成 员 函 数 然 后 由 1eda 和 engineer 类 派 生 出 主 任 工 程 师 类 chairman 采 用 一 些 数 据 进 行 测 试 99. 有 10 个 单 词 存 放 在 一 维 指 针 数 组 words 中, 编 写 一 个 程 序, 根 据 用 户 的 输 入 找 出 所 有 与 之 从 前 向 后 匹 配 的 单 词 和 个 数 100. 设 计 一 个 词 典 类 Dic, 每 个 单 词 包 括 英 文 单 词 及 对 应 的 中 文 含 义, 并 有 一 个 英 汉 翻 译 成 员 函 数, 通 过 查 词 典 的 方 式 将 一 段 英 语 翻 译 成 对 应 的 汉 语 10. 窗 口 程 序 设 计 101. 用 VB 设 计 一 个 学 生 信 息 管 理 的 数 据 库 程 序 102. 用 VC 设 计 一 个 用 mouse 输 入 一 个 多 边 并 能 对 多 边 形 进 行 几 何 变 换 ( 平 移, 缩 放, 转 动 ) 的 程 序