C语言编程习题和答案_第1页
C语言编程习题和答案_第2页
C语言编程习题和答案_第3页
C语言编程习题和答案_第4页
C语言编程习题和答案_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1 题 题 九九乘法表 九九乘法表 include int main void int i j for i 1 i 9 i for j 1 j i j printf dx d 2d i j i j printf n return 0 2 题 题 求求 n 的阶乘之和 的阶乘之和 include int main void int i n s k j scanf d for s 1 i 1 i n i s i printf d d n n s for s 1 i 1 i n i for k 0 s 1 j 1 j i j s s j k s printf 他们的他们的 n 阶之和为阶之和为 d n k return 0 3 题 题 求兔子繁殖问题 求兔子繁殖问题 include int main void int a 1 b 1 i 3 n c printf n 请输入一个繁殖时间请输入一个繁殖时间 单位为月单位为月 scanf d while i n c a b a b b c i printf 他们繁殖的兔子数为他们繁殖的兔子数为 d 只只 n c return 0 1 题 题 猴子吃桃 猴子吃桃 include int main void int i a 1 s 0 for i 9 i 1 i s a 1 2 a s printf s d 个个 n s return 0 2 题 题 求分数之和 求分数之和 include int main void float k i a 1 b 2 sum 0 0 printf 这前这前 20 个分数分别是 个分数分别是 for i 1 sum 0 i 20 i sum b a printf f f b a k b b a b a k printf n 他们的和为 他们的和为 sum 2f n sum return 0 3 题题 判断是否是水仙花数 判断是否是水仙花数 include int main void int a j k s printf 请输入一个数 请输入一个数 scanf d for a999 printf n 输入有误 请重新输入一个三位数 输入有误 请重新输入一个三位数 scanf d j a 100 k a 100 10 s a 10 if a j j j k k k s s s printf n d 是水仙花数 是水仙花数 n a else printf n d 不是水仙花数 不是水仙花数 n a return 0 4 题题 求小球反弹的路程 求小球反弹的路程 include int main void float i k j s 100 for i 1 k 0 s 100 i 10 i k s s 2 s s 2 printf 小球反弹到第小球反弹到第 10 次后的路程为 次后的路程为 s 4f n k return 0 5 求最大公约数 求最大公约数 5 题题 yourid 16 c include int func int a int b int temp while b 0 temp a b a b b temp return a void main int a m j temp printf n 请输入两个数 n scanf d d if m j temp m m j j temp a func m j printf 最大公约数为 d n a printf 最小公倍数为 d n m j a 实验三 选择结构程序设计 目的与要求 1 正确使用关系表达式和逻辑表达式表达条件 2 学习分支语句 if 和 switch 的使用方法 3 进一步熟悉 VC6 0 集成环境的使用方法 学习 VC6 0 环境提供的调试工 具 内容与过程 1 设计下列算法 用 N S 流程图表示 写在纸上 试根据流程图 编写程序 判断一个整数 n 能否被 3 和 5 整除 源程序名 yourid 6 c 1 题题 yourid 6 c include int main int i 0 a printf n 请输入一个数 n scanf d if a 3 0 else printf no is not ture d n i return 0 2 调试下列程序 使之具有如下功能 输入 a b c 三个整数 求最 小值 写出调试过程 源程序名 yourid 7 c 2 题题 main int a b c scanf d d d a b c if a b printf n 请输入一个数 n scanf f if 5 x 0 y x printf f n y if x 0 y x 1 printf f n y if 0 x x x 10 y 100 printf f n y return 0 4 编程 将一个百分制成绩转换成等级制成绩 具体要求如下 源程序 名 yourid 9 c 百分制与等级制的对应关系如下表 百分制 90 100 80 89 70 79 60 69 60 等级制 优 良 中 差 劣 用 switch 语句实现该功能 用键盘输入百分制成绩 输入前要有提示信息 对于不合理的数据应输 出错误信息 输出结果应包含百分制成绩和成绩等级 分别输入成绩 10 30 60 68 75 83 95 102 查看记录运行结果 4 题题 yourid 9 c include int main int grade printf n 请输入一个数分数 n scanf d switch grade 10 case 9 printf 优 n break case 8 printf 良 n break case 7 printf 中 n break case 6 printf 差 n break default printf 劣 n break return 0 分析与总结 1 实现选择结构程序设计的方法有哪几种 各有什么特点 适用条件是什么 2 如何设置选择结构中的判断条件 它的程序设计中的意义何在 1 写两个函数 分别求两个整数的最大的公约数和最小公倍数 用主函数调 用这两个函数 并输出结果 两个整数由键盘输入 源程序名 yourid 16 c 1 题 题 yourid 16 c include int func int a int b int temp while b 0 temp a b a b b temp return a void main int a m j temp printf n 请输入两个数请输入两个数 n scanf d d if m1 2 题 题 yourid 17 c include include include float p int n int x if n 0 return 1 else if n 1 return x else return 2 n 1 x p n 1 x n 1 p n 2 x n void main int x n printf n 请输入请输入 n 和和 x n scanf d d printf n d x d n n x printf P d d 6 2f n n x p n x 3 请到银行查出一年定期存款的利率和 5 年定期存款的利率 假定现在 要存入 100 元钱 存款到期后立即将利息与本金一起再次存入 请写出程序 计算按每次存一年和按照每次存 5 年 总共存 50 年后两种存款方式的得款 总额 对两种情况都每隔 5 年输出一次当时的总金额 源程序名 yourid 18 c 3 题题 yourid 18 c include double f1 double n int year int i double t m x 0 035 for i 1 i year i t n n x n t n m n return m double g1 double n int year int i j double t m k 5 0 x 0 055 j year 5 for i 1 i j i t n n k x n t n m n return m int main void double money y int year b printf 请存钱的金额及年限 请存钱的金额及年限 n scanf d d printf 请输入存钱的方法请输入存钱的方法 1 或或 2 n scanf d if b 1 y f1 money year else y g1 money year printf 把把 d 元存入银行元存入银行 d 年后所得的总额为年后所得的总额为 f n money year y 4 题 题 递归函数递归函数 include int main int i float j printf n 请输入一个数请输入一个数 scanf d if i 0 printf n 0 date error else j k i printf nk d f n i j return 0 float k n int n float m if n 1 m 1 0 else if n 2 0 m k n 1 2 else m k n 1 3 return m 5 题题 求求 a 与与 b 值交换值交换 include int exct x y int x y int t printf x d y d n x y t x x y y t printf x d y d n x y return 0 int main void int a b scanf d d printf a d b d n a b exct a b printf a d b d n a b return 0 6 题题 求排列组合求排列组合 include int f int a long int i s for i 1 s 1 i a i s i return s int main void long int n m y printf 请输入排列组合的请输入排列组合的 n 和和 m n scanf d d for nm 请重新输入排列组合的请重新输入排列组合的 n 和和 m n scanf d d y f n f n m f m printf 该排列组合的值为 该排列组合的值为 d n y return 0 实验七 数组 目的与要求 1 掌握数组的定义 赋值和输入输出的方法 2 学习用数组实现相关的算法 如排序 求最大和最小值 对有序数组的 插入等 内容与过程 1 有一个一维数组 有一个一维数组 在内放入在内放入 10 个学生的成绩个学生的成绩 写一个函数写一个函数 统计不及格的人统计不及格的人 数 数 源程序以 源程序以 yourid7 1 c 存盘 存盘 要求用数组名作为实参 1 题 题 a b yourid7 1 c include main int i j int scores 10 printf 请输入学生的成绩 n for i 1 i 10 i scanf 3d printf 不及格的分数有 n for i 1 j 0 i 10 i if scores i 60 j j 1 printf 3d scores i printf n 不及格的共有 d 人 n j 2 求矩阵求矩阵 a 2 3 的转置矩阵的转置矩阵 b 3 2 编写程序 编写程序 源程序以 源程序以 yourid7 2 c 存盘 存盘 2 题 题 include void main int a 2 3 1 2 3 4 5 6 int b 3 2 i j printf array a n for i 0 i 1 i for j 0 j 2 j printf 5d a i j b j i a i j printf n printf array b n for i 0 i 2 i for j 0 j 1 j printf 5d b i j printf n 4 编写一个多科学生成绩处理程序 具体要求如下 源程序以编写一个多科学生成绩处理程序 具体要求如下 源程序以 yourid7 4 c 存存 盘 盘 学生数和科目数均由键盘输入 学生成绩定义成二维数组进行处理 并由键盘按单科成绩逐个输入 要求能统计出单科平均 个人平均 单科成绩等级百分比和个人名次 数据以二维表格形式输出 输出内容有表头 提示信息 表体 学号 单科 成绩 个人平均 名次 和表尾 单科平均 等级百分比 4 题 题 yourid 18 c include int main int i s int a int b for s 10 s 0 s for i 0 i s i if i 1 i s a i 1 else a i b i 1 b i b i a i printf 3d a i printf n return 0 yourid 18 c include int main int i s j int a 10 int b 10 for s 0 s 10 s for i 0 i s i if s 1 a i i if s 2 print if i 1 i s a i 1 else j i 1 a i b j b i b i a i printf 3d a i printf n return 0 5 输入以下的杨辉三角形 要求输出输入以下的杨辉三角形 要求输出 10 行 行 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 5 题 题 include int main void char s 10 10 int i j n scanf d for i 0 i n i for j 0 j i j if j 0 j i s i j 1 else s i j s i 1 j 1 s i 1 j printf 3d s i j printf n 6 输出输出 魔方阵魔方阵 所谓魔方阵是指这样的方阵 它的每一行 每一列和对角线 所谓魔方阵是指这样的方阵 它的每一行 每一列和对角线 之和均相等 之和均相等 6 题 题 include define M 256 define N 256 void main void int a M N i j k n printf 请输入奇数阶数 请输入奇数阶数 scanf d for i 1 i n i for j 1 j n j a i j 0 j n 2 1 a 1 j 1 for k 2 k n n k i i 1 j j 1 if in i i 2 j j 1 else if in j 1 if a i j 0 a i j k else i i 2 j j 1 a i j k for i 1 i n i for j 1 j n j printf d t a i j printf n getch 7 输入一行文字 找出其中大写字母 小写字母 空格 数字及其它字符各有输入一行文字 找出其中大写字母 小写字母 空格 数字及其它字符各有 多少 多少 实验八 指针 目的与要求 1 掌握指针的概念及定义方法 掌握地址 指针和指针变量之间的区别与 联系 2 掌握指针变量与数组的关系 掌握如何使用指针来处理与数组相关的问 题 3 掌握如何使用指针来处理与字符串有关的问题 4 掌握如何使用指向函数的指针变量 内容与过程 1 编程 实现三个实数 x y z 的升序排序 要求使用指针来实现 源程序以 yourid 18 c 存盘 1 题 题 yourid 18 c include int main void int a b c int pa printf 请输入三个数 请输入三个数 n scanf d d d printf 你输入的数是 你输入的数是 d d d n a b c if pa pb pt pa pa pb pa pt if pa pc pt pa pa pc pc pt if pb pc pt pb pb pc pc pt printf 升序排列后的三个数为 升序排列后的三个数为 d d d n pa pb pc return 0 2 将一个字符数组中的单词顺序反转 要求不借助其他空间 保存反转后的 字符数组 单词间以空格分隔 源程序以 yourid 19 c 存盘 2 题 题 yourid 19 c include int main void int i char a I b am c a d student char p 4 a b c d printf 原始句子为 原始句子为 n for i 0 i 0 i printf s p i printf n return 0 3 例如 原数组 I am a student

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论