




已阅读5页,还剩43页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
习题习题 1 参考答案参考答案 1 11 1 解释以下术语解释以下术语 1 计算机软件 计算机软件是一系列按照特定结构组织的程序 数据 Data 和文档 Document 的集合 2 计算机程序 用计算机语言所编写的一系列指令的集合 3 数据 数据是程序加工和处理的对象 4 算法 算法是一组有穷的规则 它们规定了为解决某一特定问题而采取的一系列运算 步骤 5 数据结构 数据结构是存在一种或多种特定关系的数据元素的集合 其外在表现为数 据的组织形式 6 数据类型 数据类型是一个值的集合和定义在这个值集上的操作的总称 7 程序设计 程序设计是给出解决特定问题程序的方法和过程 是软件构造活动中的重 要组成部分 1 21 2 简答题简答题 1 简述内存的组织结构形式 计算机系统把内存看作是由若干个连续的存储单元 Storage Location 组成的 每 个存储单元的大小为一个字节 Byte 为了能唯一标志每个存储单元 在计算机系统中给 每个存储单元指定一个唯一的编号 该编号被称为存储单元的地址 Address 计算机在 读写内存时就是按照存储单元的地址进行的 2 为什么计算机系统是一个通用的计算系统 在计算机硬件相对固定不变的前提下 计算机的通用性主要表现在通过运行不同的程 序来完成不同的计算任务 3 简述结构化程序设计的基本思想 在程序设计过程中 如果仅仅使用顺序 选择和循环这三种基本控制结构 并且使每 个代码块只有一个入口和一个出口 则这样的程序设计方法被称为结构化程序设计 Structured Programming 4 简述计算机语言的发展史 程序设计语言经历了从机器语言 汇编语言 高级语言到超高级语言的发展历程 5 简述利用计算机进行问题求解的过程 1 理解问题特征 2 设想解决方案 3 优化解决方案 4 描述解决方案 5 执行并分析解决方案 6 简述各个程序质量要素的含义 1 正确性 Correctness 正确性是指一个计算机程序的正确程度 即程序在预定 的运行环境下能正确完成预期功能的程度 2 鲁棒性 Robustness 鲁棒性也称为健壮性 是指在硬件发生故障 输入数据无 效或操作错误等意外情况下 程序能做出响应的程度 3 效率 Efficiency 效率是指为了完成预定的功能 系统需要的计算资源 主要 包括计算时间和存储空间 的多少 4 易用性 Usability 易用性又称为可用性 是指在完成预定功能时人机交互的 难易程度 易用性高的程序容易被程序用户理解和掌握 使用户操作简单方便 5 可理解性 Understandability 可理解性是指理解程序的难易程度 可理解性 高的程序才容易测试和维护 如果程序难以读懂 就会给测试和维护带来巨大的困难 6 可测试性 Testability 可测试性是一个计算机程序能够被测试的容易程度 为了提高程序的可靠性 必须通过测试尽可能多得发现并改正程序中的错误 程序的可测 试性直接影响测试的质量和效率 7 可维护性 Maintainability 诊断和改正程序错误以及功能扩充和性能提高的 容易程度 程序设计是一个迭代过程 要开发出高质量的程序需要对程序进行多次修改和 完善 程序的可维护性决定了上述工作的质量和效率 8 可重用性 Reusability 可重用性是指在其它应用中该程序可以被再次使用的 容易程度 如果我们在开发新程序时 能够直接或稍加修改就能利用原有的程序 则会大 大提高新程序开发的质量和效率 因此 提高程序的可重用性是提高程序设计质量和效率 的根本途径 1 3 计算题计算题 1 计算 1 的 8 位原码 反码 补码和 Excess 127 码 分别为 B B B B 2 计算机内存中相邻四个字节的值为 试问该值表示的实数 有符号数和无符号数各为 多少 分别是 实数 0 125 有符号数 负数在计算机中用补码表示 无符号数 3 字符 A a 1 的 ASCII 值是多少 给出将大写字母的 ASCII 转换成对应小写字 母 ASCII 值得计算公式 A 41H a 61H 1 31H 大写转化为小写 大写字母的 ASCII 值 20H 小写字母的 ASCII 值 1 4 为下列问题求解设计算法 并分别用程序流程图 为下列问题求解设计算法 并分别用程序流程图 N S 盒图和盒图和 PAD 图加以图加以 描述 描述 1 有两个调料盒 S1 和 S2 分别盛有糖和盐 要求将它们互换 即 S1 盒原来盛糖 现 在改盛盐 S2 同理 算法思想 这是一个两个变量交换值的问题 可以设置一个临时变量 首先把 S1 的值 放入临时变量中 然后将 S2 的值放入 S1 中 最后将临时变量的值放入 S1 中即可 程序流程图 设置临时变量T T S2 S2 S1 S1 T 输入S1 S2 开始 结束 N S 盒图 输入S1 S2 定义临时变量T T S1 S1 S2 S2 T PAD 图 输入S1 S2 定义临时变量T T S1 S1 S2 S2 T 2 依次输入 6 个整数 要求输出其中最小的数 算法思想 定义一个临时变量用来存放最小的数 首先输入第一个数赋值于临时变量 然后循环输入其余的整数 比较输入的整数和临时变量的大小 如果大于临时变量则继续 输入 反之 则给临时变量赋值为次此数 最后临时变量中存放的数输入的数中的最小数 输入临时变量即可 程序流程图 开始 定义变量X 和T 输入第一个 整数并赋值 于T X T 输入下一个 整数赋值于 X 输入完毕 输出T 结束 T X Y N Y N N S 盒图 定义变量X和临时变量T 输入第一个数并赋值给T 输入下一个整数赋值于X X TY N T X 输出T PAD 图 定义变量X和临时变量T 输入第一个整数赋值于T 输入下一个整数赋值于X X T T X 输出T 3 输入 3 个整数 按从大到小的顺序输出 算法思想 输入三个数 a b c 首先比较 a 和 b 如果 a b 则比较 c 和 a 如果 c a 则输出 c a b 如果 cb 输出 a c b 否则输出 a b c 对于 ab c a Y 输出c a b c b 依次输出 a c b 输出a b c 结束 N Y Y N c b 输出c b a输出b a c 输出b c a Y N c a Y N N N S 盒图 输入三个数并赋值给a b c a bY N c bc a NY Y N 输出 a c b 输出c a b c bY N 输出 a b c 输出 b c a 输出c b a c aY N 输出 b a c PAD 图 a b 输入三个数赋值给a b c c a 输出c a b 输出a c b 输出a b c c b c b 输出c b a 输出b c a 输出b a c c a 4 求 1 2 3 10 算法思想 定义一个变量用来存放最后的值 赋初值为 1 做十次循环 每次循环在 原来变量的基础上乘循环变量值 即 1 10 最后输出这个变量即可 程序流程图 开始 count 1 i 1 i 10 count count i i 开始 输出count T F N S 盒图 count 1 i 1 i 10 count count I i 输出count PAD 图 count 1 i 1 while i 10 count count I i 输出count 5 输入两个整数 求其最大公约数 算法思想 选取两个数中较小的数作为起始值 让这两个数分别除以这个值 如果可 以整除 则这个数就是最后结果 如果不能整除则将起始值减一之后再用原来的两个数对 其做除法运算 知道整除为止 得到的起始值的最后值就是结果 程序流程图 开始 数A B 公约数C A B C AC B A C 0 AND B C 0 输出C C T F F 结束 T N S 盒图 A 1 A C 0 AND B C 0 YN 输出CC PAD 图 两数A B公约数C A 1 A C 0 AND B C 0 输出C C 1 51 5 算法思考题算法思考题 1 钞票换硬币 把一元钞票换成一分 二分 五分硬币 每种至少一枚 有哪些种换 法 分析 1 元相当于 100 分 设 5 分 2 分 1 分的硬币数分别为 X Y Z 求换法就是 在寻找这样一种组合 使得 5 X 2 Y Z 100 所以每当找到 1 种组合时 将个数记录下来 就可知换法有多少种 算法描述如下 Count 0 用于记录个数 初始为 0 for X 1 X 20 X for Y 1 Y 50 Y for Z 1 Z 100 Z if 5 X 2 Y Z 100 可实现交换 Count 输出 Count 2 百钱买百鸡 一只公鸡值 元 一只母鸡值 元 只小鸡值 元 现用一百元要买 一百只鸡 问有什么方案 分析 由题意可知 假设公鸡 母鸡 小鸡分别有 X Y Z 只 那么 X Y Z 满足 X Y Z 100 而且要满足钱数限定 5 X 3 Y 1 3 Z 100 由于 3 只小鸡 1 元钱 所以小 鸡的个数必须是 3 的整数倍 即 Z 是 3 的整数倍 可通过限制条件 筛选出满足条件的 X Y Z 当然 X Y Z 还满足以下条件 5 X 100 3 Y 100 Z 100 以下是算 法描述 for X 0 X 100 X for Y 0 Y 100 Y for Z 0 Z 100 Z if 5 X 100 and 3 Y 100 and z 3 0 if X Y Z 100 and 5 X 3 Y Z 3 100 输出 X Y Z 3 斐波那契兔子的问题 某人有一对兔子饲养在围墙中 如果它们每个月生一对兔子 且新生的兔子在第二个月后也是每个月生一对兔子 问一年后围墙中共有多少对兔子 分析 第一个月是最初的一对兔子生下一对兔子 围墙内共有两对兔子 第二个月仍 是最初的一对兔子生下一对兔子 共有 3 对兔子 到第三个月除最初的兔子新生一对兔子 外 第一个月生的兔子也开始生兔子 因此共有 5 对兔子 继续推下去 第 12 个月时最 终共有对 377 对兔子 由分析知 每个月的兔子都是上个月的兔子与新增兔子之和 而上 个月新生的兔子到下个月才会生兔子 所以新增的兔子都是上两月的兔子生的 设每个月 的兔子数为 F n 则可列出下列式子 F 0 F 1 1 F n F n 1 F n 2 显然可用递归的方法解出此题 算法流程图如下 开始 F n 0 i 0 i 0 i 1 F i 1F i F i 1 F i 2 i i 12 输出F i 开始 T F F T 习题习题 2 参考答案参考答案 1 请简要描述 C 语言的发展历史 答 C 语言是一种目前世界上普遍流行 使用广泛的高级程序设计语言 它是在 B 语 言的基础上发展起来的 1972 1973 年间 贝尔实验室设计出了 C 语言 1983 年 美国 国家标准化协会制定了 C 语言的标准 称为 ANSI C 2 略 3 C 语言的主要特点是什么 答 C 语言的主要特点如下 C 程序是由函数组成的 函数由函数头和函数体组成 C 程序总是从 main 函数开始执行 每个语句和数据声明的最后必须有一个 C 语言没有自己的输入 输出语句 它的输入 输出由库函数 printf 和 scanf 完成 可以添加注释 C 语言程序中的变量必须先声明后使用 4 如何使用 Visual C 6 0 开发控制台程序 使用 VC6 开发控制台程序的方法如下 答 在 Miscrosoft Visual C 6 0 环境下 首先建立一个空的工程 而后建立一个 C 源程序文件 并在该文件中输入源代码 使用 Bulid 命令或者快捷键 F7 进行编译连接 如果没有错误 选择 Execute 命令或者快捷键 Ctrl F5 进行执行 习题习题 3 3 参考答案 参考答案 3 1 选择题 1 B 2 D 3 D 4 A 5 A 6 A 7 C 8 C 9 C 10 B 3 2 写出下列程序的输出结果 1 200 310 c8 2 a 100 b 200 3 97 141 61 a 4 5 aabb c abc 4 3 6 6 6 6 7 3 3 编程题 1 include void main int a 500 printf d o x n a a a 输出结果 500 764 1f4 2 include void main float x scanf f printf a 3f a 3e n x x 输入 66 输出结果 a 66 000 a 6 60000e 001 3 include void main char ch1 a ch2 ch1 printf c d o x n ch1 ch1 ch1 ch1 printf c d o x n ch2 ch2 ch2 ch2 输出结果 A 65 101 41 a 97 141 61 4 include void main float x y z s v scanf f f f s 2 x y x z y z v x y z printf Area lf Volume lf n s v 输入 3 4 5 输出结果 Area 94 Volume 60 5 define PI 3 14 include include void main float r s l scanf f s float PI r r l 2 float PI r printf r 4 1f s 4 1f l 4 1f n r s l 输入 3 输出结果 r 3 0 s 28 3 l 18 8 6 include include void main float x1 y1 x2 y2 x3 y3 a b c p s scanf f f f f f f a sqrt x1 x2 x1 x2 y1 y2 y1 y2 b sqrt x1 x3 x1 x3 y1 y3 y1 y3 c sqrt x2 x3 x2 x3 y2 y3 y2 y3 p a b c 2 s sqrt p p a p b p c printf Area f n s 输入 5 6 3 8 0 23 输出结果 Area 12 习题习题 4 参考答案参考答案 4 1 选择题 1 D 2 A 3 A 4 C 5 C 6 B 7 B 8 B 9 C 10 A 4 2 填空题 1 261 2 16 3 0 4 2 1 4 3 编程题 1 include void main float c f printf 输入华氏温度 n scanf f c f 32 5 9 printf 摄氏温度为 5 2f n c 2 include include void main char s1 10 s2 10 s 20 printf please enter two string n gets s1 gets s2 strcat s1 s2 printf s n s1 printf d n strlen s1 3 include include void main double x y printf please enter two data n scanf lf lf printf lf raised to lf is lf n x y pow x y 习题习题 5 5 参考答案参考答案 1 填空题 1 n 4 2 2 i 1 3 7 4 2 include void main long m n a b s printf nPlease input value of M scanf ld printf nPlease input value of N scanf ld a m n m n b m n n m while a b 0 s a b a b b s printf nGong yue shu ld n s printf nGong Bei shu ld n m n s 3 include void main int a b c d e printf Please input an integer n scanf d if a 1000 0 printf input error n return b a 1000 e a 10 c a 1000 100 d a 100 10 if b e else printf NO n 4 include void main int c int Num1 Num2 Num3 Num4 Num1 Num2 Num3 Num4 0 do c getchar if c a else if c Num3 else Num4 while c n printf 英文字母有 d 个 数字有 d 个 空格有 d 个 其它字符有 d 个 n Num1 Num2 Num3 Num4 5 include include void main float a b c disc x1 x2 realpart imagepart printf Input a b and c scanf f f f printf The equation disc b b 4 a c if fabs disc 1e 7 x1 b sqrt disc 2 a x2 b sqrt disc 2 a printf has distince real roots 4 2f and 4 2f n x1 x2 else realpart b 2 a imagepart sqrt disc 2 a printf has complext roots printf 4 2f 4 2fi realpart imagepart printf and 4 2f 4 2fi n realpart imagepart 6 include void main int i j for i 1 i 5 i for j 1 j 1 i for j i j 1 j printf printf n 7 include define EPS 1e 7 void main int n double x an sum printf input x scanf lf x x 3 180 sum 0 an x n 1 do sum an n n n 1 n 2 an x x n printf an f n an while fabs an EPS printf sin 4lf 4lf n x sum 8 include void main unsigned int n char c n 0 printf input a binary integer while c getchar n switch c case 0 n n 2 0 break case 1 n n 2 1 break printf the decimal is d n n 9 include void main int i j for i 1 i 10 i printf t d i printf n for i 1 i 10 i printf d i for j 1 j i j printf t d i j printf n 10 include void main int n m z x y printf input n scanf d m n z x y 1 while n 1 z x y x y y z n printf Fibonacci d d n m z 11 include include void main int i j int flag for i 1 i 100 i flag 1 for j 2 j sqrt i j if i j 0 flag 0 break if flag 1 printf d t i 12 include void main int i sum sum 0 for i 1 i 1000 i if i 3 0 printf sum is d n sum 13 include void main int x long f printf input x scanf d if x 1 else f x x 3 x 6 printf f d d n x f 习题习题 6 6 参考答案参考答案 6 1 6 2 求一维数组各元素的最大值 最小值及所有元素的乘积 include define N 10 void main int a N int max min i product printf 输入 d 个数组元素 n N for i 0 i N i scanf d max a 0 min a 0 product a 0 for i 1 i N i product a i if maxa i min a i printf 各元素最大值为 d n max printf 各元素最小值为 d n min printf 各元素的乘积为 d n product 6 3 已知数列 a0 0 a1 1 an an 2 an 2an 1 求数列的前 10 个元素 include define N 10 void main int a N 0 1 int i for i 2 i N i a i a i 2 a i 2 a i 1 for i 0 i N i if i 5 0 printf n printf 5d a i printf n 6 4 用改进的冒泡算法对 N 个数由小到大排序 include define N 10 void main int a N int i j temp flag printf 输入待排序数据 n for i 0 i N i scanf d for i 0 i N 1 i flag 0 for j 0 ja j 1 temp a j a j a j 1 a j 1 temp flag 1 if flag 0 break printf 排序后数据为 n for i 0 i N i printf d a i printf n 6 5 用插入法对 N 个数由小到大排序 include define N 10 void main int a N int i j temp printf 输入待排序数据 n for i 0 i N i scanf d for i 0 itemp j a j 1 temp for i 0 i N i printf d a i printf n 6 6 用筛选法求 1 100 内的素数 include include void main int a 101 int i j count 0 for i 1 i 100 i a i i a 1 0 for i 2 i sqrt 100 i if a i 0 for j i 1 j 100 j if a j 0 for i 1 i 100 i if a i 0 printf 5d a i count if count 5 0 printf n 6 7 将一维数组中各个元素的顺序变反 include define N 10 void main int a N i temp printf 请输入 d 个整数 n N for i 0 i N i scanf d for i 0 i N 2 i temp a i a i a N 1 i a N 1 i temp for i 0 i N i printf 5d a i printf n 6 8 输出如下上三角矩阵 主对角线以下的元素不输出 116 57 2 include define N 3 void main int a N N 1 1 6 0 5 7 0 0 2 int i j for i 0 i N i for j 0 j i j printf for j i j N j printf 4d a i j printf n 6 9 求两个矩阵的和 要求不引入新的矩阵 include define M 3 define N 4 void main int a M N b M N i j printf 请输入 d d 矩阵 A n M N for i 0 i M i for j 0 j N j scanf d printf 请输入 d d 矩阵 B n M N for i 0 i M i for j 0 j N j scanf d for i 0 i M i for j 0 j N j a i j b i j printf 两矩阵的和为 n for i 0 i M i for j 0 j N j printf 5d a i j printf n 6 10 求矩阵的最大元素和最小元素及其所在行和列 include define M 3 define N 4 void main int a M N i j max maxi 0 maxj 0 min mini 0 minj 0 printf 请输入 d d 矩阵 A n M N for i 0 i M i for j 0 j N j scanf d max a 0 0 min a 0 0 for i 0 i M i for j 0 jmax max a i j maxi i maxj j if a i j min min a i j mini i minj j printf 最大元素为 a d d d n maxi maxj max printf 最小元素为 a d d d n mini minj min 6 11 输出杨辉三角形的前 10 行 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 说明 杨辉三角形是 a b n 展开后各项的系数 首行 a b 0 的系数为 1 次行为 1 1 其余各行中首末元素为 1 其余元素为其左上方元素与正上方元素的和 include define N 10 void main int a N N i j for i 0 i N i a i 0 1 a i i 1 for j 1 j i j a i j a i 1 j 1 a i 1 j printf 杨辉三角的前 d 行为 n N for i 0 i N i for j 0 j i j printf 5d a i j printf n 6 12 输出 N 阶魔方阵 其中 N 为一个奇数 N 阶魔方阵是指一个 N N 的方阵 其元素由 1 到 N2 组成 且方阵每行 每列以及对角 线元素的和都相等 如三阶魔方阵为 816 357 492 魔方阵中各数的排列规律如下 1 1 在第一行中间一列 2 从 2 到 N N 的各个数依次按如下规则存放 每一个数存放的行比前一个数的行数 减 1 列数加 1 如上面的三阶魔方阵 5 在 4 的上一行后一列 3 如果上一个数在第一行 则下一个数在最后一行 列数加 1 4 如果上一个数在最后一列 则下一个数在第一列 行数减 1 5 如果按上述规则确定的位置已经有数 或上一个数在第 1 行第 N 列 则下一个数 放在上一个数的正下方 如三阶魔方阵中 按前四条规则 4 应该放在第一行 第二列的 位置 但由于 1 已经在该位置 故 4 放在 3 的下面 再如 6 因其位于第一行第 3 列 故 7 在其下方 include define N 5 void main int a N N 0 i j k i 0 j N 2 a i j 1 for k 2 k N N k i i 1 j j 1 if i 0 j j 1 a i j k else if i 0 i N 1 else if j N j 0 else if a i j 0 i i 2 j j 1 a i j k for i 0 i N i for j 0 j N j printf 5d a i j printf n 6 13 求二维数组的鞍点 即找一个位置 该位置上的元素同行中最大 同列中最小 include define M 3 define N 4 void main int a M N int i j maxj count 0 flag printf 请输入 d d 阶矩阵 A n M N for i 0 i M i for j 0 j N j scanf d for i 0 i M i maxj 0 for j 1 j N j if a i maxj a i j maxj j flag 1 for j 0 j M j if a j maxj a i maxj flag 0 if flag 1 count printf 第 d 个鞍点 a d d d n count i maxj a i maxj if count 0 printf 没有鞍点 6 14 输出以下图案 include define N 4 void main int i j for i 0 i N i for j 0 j i j printf for j i j N j printf printf n 6 15 通过键盘输入一行字符串 之后按如下规律对其加密 A Z a z B Y b y C X c x 即将字符串中的第 i 个大写或小写英文字母变成相应的第 26 i 1 个大写或小写字母 其它字符不变 include include void main char str 100 int i len printf 请输入字符串 n gets str len strlen str for i 0 i A puts str 6 16 编程实现 strcmp 函数的功能 include void main char str1 100 str2 100 int i 0 result printf 请输入字符串 str1 n gets str1 printf 请输入字符串 str2 n gets str2 while str1 i str2 i if str1 i 0 else result str1 i str2 i printf 结果为 d n result 6 17 编程实现 strcpy 函数的功能 include include void main char str1 100 str2 100 int i 0 printf 请输入字符串 str2 n gets str2 while str2 i 0 str1 i str2 i i str1 i 0 printf str1 s n str1 printf str2 s n str2 习题习题 7 7 参考答案参考答案 7 1 答 从用户使用的角度 可以将函数分为 从用户使用的角度 可以将函数分为 库函数 库函数也称为标准函数 指由 C 系统提供而无需用户定义的函数 这种函数只需在程 序前面包含该函数原型所在的头文件即可 即使用 include 预处理命令 用户自定义函数 指用户按照实际需要自己编写的实现一定功能的函数 这种函数需要在程序中进行声 明和定义才可以使用 从函数返回值的角度 可以将函数分为 从函数返回值的角度 可以将函数分为 有返回值函数 如果一个函数被调用 并在执行完成后要向调用者返回一个执行结果 则称为有返回 值函数 这个函数返回的执行结果即为返回值 如 getchar 函数便返回一个字符 如果一个用户自定义函数是有返回值的 那么必须在函数声明和定义中明确指出返回 值的类型 无返回值函数 如果一个函数被调用 但在执行完成后不向调用者返回函数值 则称为无返回值函数 此类函数主要用于完成某种特定的处理任务 类似于 Basic Pascal 等语言中的过程 如 printf 函数实现输出功能 就没有返回值 用户在定义一个无返回值函数时 需要指定其返回值类型为空类型 即用户在定义一个无返回值函数时 需要指定其返回值类型为空类型 即 void 类型 类型 从函数有无参数的角度 可以将函数分为 从函数有无参数的角度 可以将函数分为 有参函数 有参函数也称为带参函数 如果一个函数被调用时需要从调用者那里接收一些参数 那么它就是一个有参函数 如 printf scanf 就是有参函数 在调用时需要指明输出 输入的格式和内容 在函数定义和声明中使用的参数 称为形式参数 简称为形参 用于表明一个函数需 要接收的数据 在函数调用时给出的参数称为实际参数 简称为实参 用于给被调用的函 数传递实际数据 无参函数 如果一个函数被调用时不需要从调用者那里接收任何参数 则称为无参函数 如我们 前面所有的 main 函数都是无参函数 7 2 答 C 语言中函数定义的格式有两种 第一种是传统格式 或称为 K 1 数据类型数据类型 2 2 形参名形参名 2 2 函数体函数体 现代格式 现代格式 存储类型存储类型 数据类型数据类型 函数名函数名 数据类型数据类型 1 1 形参名形参名 1 1 数据类型数据类型 2 2 形参名形参名 2 2 函数体函数体 功能 定义一个函数 功能 定义一个函数 7 3 答 函数调用有两种方式 一是使用函数名进行调用 二是使用函数指针进行调 用 格式 函数名格式 函数名 实参实参 1 1 实参实参 2 2 功能 调用函数名指定的函数 功能 调用函数名指定的函数 7 4 填空题 1 10 2 15 3 4 3 7 4 12334 5 x ar i j ar i j br i x 6 int F int long SunFun int F x x x 1 7 5 函数 1 和函数 2 之间除变量 i 和 j 的存储类型不同外 其它均相同 当函数只执 行一次时 两个都是正确的 但是当函数在程序中被反复多次调用时 函数 2 就是错误的 条件表达式 n 0 n void main int a printf input a number scanf d if F a 0 printf 不是水仙花数 n else printf 是水仙花数 n int F int a int b c d b a 100 c a 100 10 d a 10 if a b b b c c c d d d return 1 else return 0 7 7 include define DAYS 30 double gathering return DAYS double paying int n double pay s 0 for n 1 pay 0 01 n DAYS n pay pay s pay return s void main printf gathering 2f npaying 2f n gathering paying 7 8 include double L int n double x void main int m y scanf d d printf 2f n L m y double L int n double x if n 0 return 1 else if n 1 return x else return 2 0 n 1 L n 1 x n 1 L n 2 x n 7 9 include define N 5 void Tran int N N void Add int N N int N N int N N void Mul int N N int N N int N N void main int i j int A N N B N N C N N for i 0 i N i for j 0 j N j scanf for i 0 i N i for j 0 j N j scanf Tran A for i 0 i N i for j 0 j N j printf d t A i j printf n Add A B C for i 0 i N i for j 0 j N j printf d t C i j printf n Mul A B C for i 0 i N i for j 0 j N j printf d t C i j printf n void Tran int A N N int i j t for i 0 i N i for j i j N j t A i j A i j A j i A j i t void Add int A N N int B N N int C N N int i j for i 0 i N i for j 0 j N j C i j A i j B i j void Mul int A N N int B N N int C N N int i j k for i 0 i N i for j 0 j N j C i j 0 for k 0 k N k C i j A i k B k j 7 10 递归程序 include int half int s int a int b int key int mid if a b if key s a return a else return 1 else mid a b 2 if keys mid return half s mid 1 b key if key s mid return mid 非递归程序 include int half int s int a int b int key int left 0 int right n 1 int middle while lefts middle left middle 1 else right middle 1 return 1 7 11 include int Encrypt int a int i aa 4 t aa 0 a 10 aa 1 a 100 10 aa 2 a 1000 100 aa 3 a 1000 for i 0 i 3 i aa i 5 aa i 10 for i 0 i 3 2 i t aa i aa i aa 3 i aa 3 i t t 0 for i 0 i 4 i t t 10 aa i return t void main int a scanf d printf encrypted code d n Encrypt a 7 12 include int length char p void main int len char str 80 printf please input a string n scanf s str len length str printf the string has d characters len int length char p int n n 0 while p n 0 n return n 7 13 include define N 10 void main int i j min tem a N printf please input ten num n for i 0 i N i printf a d i scanf d printf n for i 0 i N i printf 5d a i printf n for i 0 i N 1 i min i for j i 1 ja j min j tem a i a i a min a min tem printf After sorted n for i 0 i N i printf 5d a i 习题习题 8 8 参考答案参考答案 参考课本内容自己进行解答 习题习题 9 9 参考答案参考答案 9 1 请自己参考课本内容进行总结 9 2 9 3 9 4 9 5 a 为一维数组的数组名 是指向首元素的指针常量 其值为首元素地址 2001 a 0 为 一维数组 a 的首元素 其值为 0 b 为二维数组数组名 是指向首行的指针常量 其值为首 行数组的起始地址 为 3001 b 0 相当于首行数组的数组名 它指向首行首元素 其值为 3001 b 0 0 为二维数组的首元素 其值为 0 p1 为指向数组元素的指针变量 当前指向 数组 a 的首元素 其值为 2001 p1 1 指向数组 a 的标号为 1 的元素 其值为 2003 p2 是 指向一维数组的指针变量 当前指向二维数组 b 的首行所对应数组 其值为 3001 p2 1 指 向二维数组 b 的标号为 1 的行所对应数组 其值为 3009 p3 是指向数组元素的指针变量 当前指向二维数组 b 的首元素 b 0 0 其值为 3001 p3 1 指向二维数组 b 的第 2 个元素 b 0 1 其值为 3003 9 6 include void main int a 3 3 p1 p2 3 int i j void inputmatrix int p void transpose int p 3 p1 a 0 p2 a inputmatrix p1 transpose p2 for i 0 i 3 i for j 0 j 3 j printf d a i j printf n void inputmatrix int p int i j printf 输入矩阵元素 n for i 0 i 3 i for j 0 j 3 j scanf d p 3 i j void transpose int p 3 int i j temp for i 0 i 3 i for j i j 3 j temp p i j p i j p j i p j i temp 9 7 include define N 4 void average float p N int m int i j float aver sum for i 0 i m i p sum 0 for j 0 j N j sum p j aver sum N printf the average score of course No d is 5 2f n i 1 aver void search float s N int m int i j for i 0 i m i for j 0 j N j if s i j 60 printf course No d student No d failed n i 1 j 1 void main float score 3 4 82 75 62 90 89 79 50 93 49 62 52 77 average score 3 search score 3 9 8 include define ROWNUM 4 矩阵行数 define COLNUM 4 矩阵列数 输入矩阵子函数 void inputmatrix float a COLNUM int i j printf input the matrix n for i 0 i ROWNUM i for j 0 j COLNUM j scanf f 输出矩阵子函数 void outputmatrix float a COLNUM int i j printf the matrix is n for i 0 i ROWNUM i for j 0 j COLNUM j printf 5 2f a i j printf n 若 a i i 为 0 则找其正下方非零元素所在行
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年会展策划与设计中级考试热点分析及模拟题详解
- 2025年生物质碳化专用炉项目发展计划
- 2025年电力测量仪表项目建议书
- 腕管综合征护理
- 2025年家畜良种胚胎生物工程制品项目合作计划书
- 安徽省A10联盟2025-2026学年高二上学期9月学情调研生物试卷(含答案)
- 2025年教具及类似用具项目发展计划
- 执业临床考试题及答案
- 2025学年北京市房山区高三语文上学期开学考试卷附答案解析
- 2025-2026学年云南省部分学校高二(上)联考数学试卷(8月份)含答案
- 工程经济学ppt全套教学课件
- 附件4:医院血透室医疗质量检查表
- deflt3d-教程delft网格生成d3d
- 安全心理学概述PPT通用课件
- WS T 310.2-2016医院消毒供应中心第2部分:清洗消毒及灭菌技术操作规范1
- 2022年妇科三基考试题库(导出版)
- 病媒生物防制技术指导手册(20130703)
- T∕CSBME 002-2017 医用非血管内导管弯曲性能试验方法
- 钢筋加工机械技术状况常检查记录表
- 《全国建筑设计行业收费标准》(2022年编制)的通知
- 卵巢过度刺激综合征
评论
0/150
提交评论