




已阅读5页,还剩56页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C C 语言语言 2 2 作业作业 1 1 一 判断题一 判断题 16 16 分分 1 程序是由函数构成的 每一个函数完成相对独立的功能 2 分 2 被 main 函数调用的函数只能是库函数 2 分 3 只有在函数被调用时 其形式参数才临时地占有存储空间 2 分 4 函数若无返回值 则它一定无形参 2 分 5 如果函数类型不定义为空类型 即使在 return 后面没有表达式 而实际上函 数也是有一个不确定的返回值的 2 分 6 函数必须有形参 2 分 7 函数必须有 return 语句 2 分 8 函数调用语句 func rec1 rec2 rec3 rec4 rec5 中 含有的实参个数是 5 2 分 二 选择题二 选择题 18 18 分分 1 一个数据类型为 void 的函数中可以没有 return 语句 那么函数被调用时 A 2 分 A 没有返回值 B 返回一个系统默认值 C 返回值由用户临时决定 D 返回一个不确定的值 2 在 C 语言中 函数的数据类型是指 A 2 分 A 函数返回值的数据类型 B 函数形参的数据类型 C 调用该函数 时的实参的数据类型 D 任意指定的数据类型 3 若已定义的函数有返回值 则以下关于该函数调用的叙述中错误的是 D 2 分 A 函数调用可以作为独立的语句存在 B 函数调用可以作为一个函数的实参 C 函数调用可以出现在表达式中 D 函数调用可以作为一个函数的形参 4 阅读下面程序段 则执行后输出的结果是 include void main int m 4 n 2 k k fun m n printf d n k int fun int m int n return m m m n n n C 2 分 A 64 B 8 C 56 D 0 5 编写求两个双精度数之和的函数 选项中正确的是 A double add double a double b double s s a b return s B double add double a b double s s a b return s C double add double a double b double s s a b returns D double add a b double a b s s a b return s A 2 分 A A B B C C D D 6 现有如下程序段 include int aa int x int y void main int a 24 b 16 c c aa a b printf d n c int aa int x int y int w while y w x y x y y w return x 则程序段的输出结果是 D 2 分 A 5 B 6 C 7 D 8 7 函数的值通过 return 语句返回 下面关于 return 语句的形式描述错误的是 C 2 分 A return 表达式 B return 表达式 C 一个 return 语句可以返回多个函数值 D 一个 return 语句只能返回一个函数值 8 阅读下面程序 则执行后的结果为 include void main fun3 fun1 fun2 fun1 int k 20 return k fun2 int a 15 return a fun3 int a int b int k k a b a b printf d n k B 2 分 A 0 B 175 C 184 D 编译不通过 9 阅读下列程序 则执行后输出的结果是 include void fun int k k k k 6 void main int k 1 fun k printf d n k A 2 分 A 1 B 2 C 6 D 12 三 程序设计题三 程序设计题 30 30 分分 1 第 5 章 四 1 10 分 题目描述 输入一个整数 x 输出下面分段函数 f x 的值 要求将分段函数的计算定义成 函数 当 x 0 时 f x 1 当 x 0 时 f x 0 当 x 0 时 f x 1 输入描述 输入一个整数 输出描述 输出分段函数 f x 的值 样例输入 100 样例输出 f 100 1 参考答案 1 include int f int x 函数定义 if x 0 return 1 else if x 0 return 0 else return 1 void main int x y scanf d y f x 函数调用 printf f d d n x y 2 第 5 章 四 4 10 分 题目描述 参考答案 2 include int f int x int y if x 0 y 1 else if x 0 y 0 else y 1 return y void main int x scanf d printf f d d n x f x 输入三个数 输出它们的最小值 要求定义一个函数 返回两个数的最小值 输入描述 输入三个实数中间用空格间隔 输出描述 输出结果保留三位小数 样例输入 5 7 98 32 123 45678 样例输出 123 457 参考答案 1 include double min double x double y if x y return x else return y void main double a b c m scanf lf lf lf m min min a b c printf 3f n m 3 第 5 章 四 5 10 分 题目描述 在主函数中输入字符 c 和 m 调用函数 prn 连续将字符 c 输出 m 次 定义函数 prn 完成连续将某个字符 c 输出 m 次后换行 输入描述 先输入要输出字符 再输入一个整数 两者之间用空格间隔 输出描述 在一行中输出 样例输入 5 样例输出 参考答案 include void prn char c int m int i for i 1 i m i putchar c printf n void main char c 参考答案 2 include double min double x double y double m if x y m x else m y return m void main double a b c m scanf lf lf lf m min a b m min m c printf 3f n m int m scanf c d prn c m C C 语言语言 2 2 作业作业 2 2 一 判断题一 判断题 18 18 分分 1 函数即可以嵌套定义 又可以嵌套调用 2 分 2 空函数没有返回值 除此之外 有些函数可以带回一个或一个以上的返回值 2 分 3 return 后面括号里的表达式的值即是此函数的值 2 分 4 定义在 main 函数后的任何函数都需在 main 中进行函数声明 2 分 5 如果被定义函数的返回值是整型 可以不必进行声明 2 分 6 求 n 既可以用递归的方式 也可以用递推的方式 2 分 7 递归函数在实现过程中 要使用 堆栈 这种数据结构来保存递归调用过程 中的值 2 分 8 在 C 语言中 所有函数之间都可以相互调用 2 分 9 函数的递归调用不过是一个函数直接或间接地调用它自身 2 分 二 选择题二 选择题 22 22 分分 1 在下面的函数声明中 存在着语法错误的是 C 2 分 A BC int a int B BC int int C BC int int 5 D BC int x int y 2 以下程序的输出结果是 include int fun int n int s if n 1 n 2 s 2 else s n fun n 1 return s void main printf d n fun 3 A 2 分 A 1 B 2 C 3 D 4 3 C 语言中 若未说明函数的类型 则系统默认该函数的类型是 C 2 分 A float 型 B double 型 C int 型 D void 型 4 以下程序中有语法错误 有关错误原因的正确说法是 main int G 5 k void par char int x int y k par char G C 2 分 A 语句 void par char 有错 不能用 void 说明函数的类型 B 变量名 G 不能使用大写字母 C 函数说明和函数调用语句之间有矛盾 D 函数名中不能使用下划线 5 在 C 语言中 以下正确的说法是 D 2 分 A 形参不占用存储单元 B 只有当实参和与其对应的形参同名时才共占用存储单元 C 实参和与其对应的形参共占一个存储单元 D 实参和与其对应的形参各占用独自的存储单元 6 下列叙述中 正确的叙述项是 B 2 分 A 定义函数时 必须要有形参 B 函数中可以没有 return 语句 也可以有多条 return 语句 C 函数 f 可以用 f f x 形式调用 这种调用形式是递归调用 D 函数必须有返回值 7 根据下面函数 print 的定义 选出调用函数 print 5378 的值是 void print long n if n 0 return else print n 10 printf d n 10 return A 2 分 A 5 3 7 8 B 8 7 3 5 C 3 5 7 8 D 8 7 5 3 8 下述程序输出的结果是 include void fun int a int b int c a 456 b 567 c 678 void main int x 10 y 20 z 30 fun x y z printf d d d z y x A 2 分 A 30 20 10 B 10 20 30 C 456 567 678 D 678 567 456 9 下述程序输出的结果是 include Fun int a int b int c c a a b b void main int x 22 fun 4 2 x printf d x C 2 分 A 20 B 21 C 22 D 23 10 在下列程序中 调用 f 8 的值是 int f int n if n 1 return 1 else if n 2 return 2 else return f n 1 f n 2 D 2 分 A 13 B 21 C 55 D 34 11 有函数定义 int fun return 3 4 则调用 fun 后的函数返回值是 B 2 分 A 3 B 4 C 3 和 4 D 程序出错 三 程序设计题三 程序设计题 20 20 分分 1 水仙花数 2 10 分 题目描述 水仙花数 是指一个三位数 它的各位数字的立方和等于其本身 比如 153 1 3 5 3 3 3 现在要求输出所有在 m 和 n 范围内的水仙花数 100 m n 999 编程要求 要求编写一个判断水仙花数的函数 在主函数调用该函数判断某个 数是否为水仙花数 输入描述 输入数据包括两个整数 m 和 n 输出描述 要求输出所有在给定范围内的水仙花数如果有多个 则要求在一行内输出 之 间用一个空格隔开 如果给定的范围内不存在水仙花数 则输出 no 注意 输 出字母小写 样例输入 样例输入 1 100 999 样例输入 2 200 300 样例输出 样例输出 1 153 370 371 407 样例输出 2 no 参考答案 include include int isflower int x 判断整数 x 是否水仙花数 int a b c a x 10 b x 10 10 c x 100 if a a a b b b c c c x return 1 若是水仙花数返回 1 否则返回 0 else return 0 void main int n m i c 0 变量 c 统计水仙花数个数 scanf d d for i m i n i if isflower i 1 printf d i c 或 c 1 则用变量 c 标识有否水仙花数 if c 0 printf no n 若在此范围内无水仙花数 则输出 no 2 计算 x 的 n 次幂 2 10 分 题目描述 输入一个实数 x 和一个整数 n n 0 计算 x 的 n 次幂 要求将计算 x 的 n 次幂定义成函数 不允许使用库函数 pow 输入描述 一个实数和一个整数 中间用空格间隔 输出描述 输出结果保留三位小数 样例输入 2 4 3 样例输出 13 824 参考答案 1 include double mypow double x int n int i double y for i y 1 i n i y y x return y void main int n double x y 1 参考答案 2 include double f double x int n 递归函数 if n 0 return 1 x0 1 else return x f x n 1 xn x xn 1 void main double x y int n scanf lf d y f x n printf 3f n y scanf lf d y mypow x n printf 3f n y C C 语言语言 2 2 作业作业 3 3 一 判断题一 判断题 8 8 分分 1 静态局部变量只在本函数内可用 2 分 2 外部变量是全局变量 2 分 3 如果函数类型不定义为空类型 即使在 return 后面没有表达式 而实际上函 数也是有一个不确定的返回值的 2 分 4 在函数体内定义的变量称全局变量 可以被程序中的所有函数引用 2 分 二 选择题二 选择题 10 10 分分 1 以下程序的输出结果是 int f static int i 0 int s 1 s i i return s main int i a 0 for i 0 i 5 i a f printf d a D 2 分 A 20 B 24 C 25 D 15 2 若有以下程序 include void f int n main void f int n f 5 void f int n printf d n 则以下叙述中不正确的是 C 2 分 A 若只在主函数中对函数 f 进行说明 则只能在主函数中正确调用函 数 f B 若在主函数前对函数 f 进行说明 则在主函数和其后的其它函数中 都可以正确调用函数 f C 对于以上函数程序 编译时系统会提示出错信息 提示对 f 函数重 复说明 D 函数 f 无返回值 所以可用 void 将其类型定义为无值型 3 以下程序的输出结果是 int x 3 main int i for i 1 i x i incre incre static int x 1 x x 1 printf d x C 2 分 A 3 3 B 2 2 C 2 6 D 2 5 4 设有以下函数 f int a int b 0 static int c 3 b c return a b c 如果在下面的程序中调用该函数 则输出结果是 main int a 2 i for i 0 i 3 i printf d n f a A B C D 7 7 7 7 8 9 10 7 9 11 13 7 A 2 分 A A B B C C D D 5 若程序中定义了以下函数 double myadd double a double b return a b 并将其放在调用语句之后 则在调用之前应该对函数进行说明 以下选项中错 误的说明是 A 2 分 A double myadd double a b B double myadd double double C double myadd double b double a D double myadd double x double y 三 程序填空题三 程序填空题 10 10 分分 1 功能 通过函数的递归调用计算阶乘 5 分 include long power int n long f if n 1 f 1 else f 1 return f void main int n long y scanf d y 2 printf d ld n n 3 1 答案 2 分 power n 1 n 2 答案 2 分 power n 3 答案 1 分 y 2 功能 利用全局变量计算长方体的体积及三个面的面积 5 分 include int s1 s2 s3 int vs int a int b int c int v v 1 s1 a b s2 2 s3 a c return v int main int v l w h printf ninput length width and height scanf d d d 3 4 printf v d s1 d s2 d s3 d n v s1 s2 s3 1 答案 2 分 a b c 2 答案 1 分 b c 3 答案 1 分 do 若用 while 语句 则在前面要加 if n 0 if n 10 k c n 10 while n 0 return c void main int n k scanf d d if k 9 k 0 printf error else printf d n ndigit n k 2 双胞胎数 10 分 题目描述 除 1 和它本身外 不能被其它整数整除的正整数称为素数 注 1 不是素数 2 是素数 若两素数之差为 2 则称两素数为双胞胎数 给定一段连续的正整 数 请判断其中有多少对双胞胎数 要求将判断某数是否素数写成函数 输入描述 输入数据包含 2 个正整数 A 和 B 0 A B 100000 分别表示连续整数段的 2 端 输出描述 请判断并输出 A B 范围内一共有多少对双胞胎数 样例输入 31 601 样例输出 22 参考答案 include int prime int x int i k if x 2 return 0 k sqrt x for i 2 i k i if x i 0 return 0 return 1 void main int i n 0 a b scanf d d for i a i b 2 i if prime i printf d n n C C 语言语言 2 2 作业作业 4 4 一 选择题一 选择题 20 20 分分 1 下列能正确定义一维数组 a 的语句是 A int a 10 B int n 10 a n C int n scanf d for i 0 i k i for j 0 j k j a j a i 1 printf d n a k 以上程序的输出结果是 D 2 分 A 1 B 2 C 3 D 不确定的值 5 若定义数组 int a 10 其最后一个数组元素为 C 2 分 A a 0 B a 1 C a 9 D a 10 6 若定义数组并初始化 int a 10 1 2 3 4 以下哪一个不成立 B 2 分 A a 8 的值为 0 B a 1 的值为 1 C a 3 的值为 4 D a 9 的 值为 0 7 在定义一个一维数组时 不能用来表示数组长度的是 D 2 分 A 常量 B 符号常量 C 常量表达式 D 已被赋值的变量 8 若 float 型变量占用 4 个字节 有定义 float a 20 1 1 2 1 3 1 则数组 a 在内存中所占的字节数是 D 2 分 A 12 B 20 C 40 D 80 9 以下程序的输出结果是 include void main int i k a 10 p 3 k 5 for i 0 i 10 i a i i for i 0 i 3 i p i a i i 1 for i 0 i 3 i k p i 2 printf d n k B 2 分 A 20 B 21 C 22 D 23 10 有以下程序 main int p 7 11 13 14 15 16 17 18 i 0 k 0 while i 7 i printf d k 执行后输出结果是 D 2 分 A 58 B 56 C 45 D 24 二 程序设计题二 程序设计题 20 20 分分 1 与平均值最接近的数 10 分 题目描述 输入 n n 20 和 n 个实数 输出平均值及与平均值相差最小的数 若有多个 只需输出第一个 输入描述 输入 n 和 n 个实数 各数之间用空格分隔 输出描述 第一行输出平均值 第二行输出与平均值相差最小的数 输出结果均保留两位 小数 样例输入 6 2 3 4 5 8 5 9 15 样例输出 2 63 2 30 参考答案 1 include include define N 20 void main double x N v d int i n scanf d for i 0 v 0 i n i scanf lf v x i v v n d x 0 for i 1 ifabs x i v d x i printf 2f n 2f n v d 2 最大值和第一个数交换位置 10 分 题目描述 输入 n n 20 和 n 个整数放在一维数组中 找出其中最大的数 将它与数组 最前面的元素交换后输出这些数 输入描述 输入 n 和 n 个整数 输出描述 输出数据占一行 数据间用一个空格分开 样例输入 5 78 99 34 112 67 样例输出 112 99 34 78 67 参考答案 1 include define N 20 void main int a N n int i k 0 t scanf d for i 0 i n i scanf d 参考答案 2 include include define N 20 void main double a N v 0 int i k 0 n scanf d 实际元素个数 for i 0 i n i scanf lf v a i v v n for i 1 i n i if fabs a i v fabs a k v k i 记录最接近元素下标 printf 2f n 2f n v a k 参考答案 2 include void main int a 20 max k i n scanf d for i 0 i n i scanf d max a 0 k 0 用来记录最大元素下标 for i 1 imax max a i max 放最大元素值 k i 还要记录最大元素下标 a k a 0 a 0 max 原元素值在 max 中 for i 0 i n i printf d a i 思考 若交换时用语句 t a 0 a 0 max max t 有何问题 for i 1 i n i if a k a i k i t a k a k a 0 a 0 t for i 0 i n i printf d a i printf n C C 语言语言 2 2 作业作业 5 5 一 判断题一 判断题 12 12 分分 1 如果想使一个数组中全部元素的值为 1 可以写成 int a 10 1 10 2 分 2 C 允许对数组的大小作动态定义 即可用变量定义数组的大小 2 分 3 数组定义 int a 10 也可以写成 int a 10 2 分 4 在对全部数组元素赋初值时 可以不指定数组长度 2 分 5 数组定义 int a 10 表示数组名为 a 此数组有 10 个元素 2 分 6 数组定义 int a 10 表示数组名为 a 此数组有 10 个元素 第 10 个元素 为 a 10 2 分 二 选择题二 选择题 8 8 分分 1 下面的程序中哪一行有错误 include void main float array 5 0 0 第 A 行 int i for i 0 i 5 i scanf f for i 1 i 5 i array 0 array 0 array i 第 B 行 printf f n array 0 第 C 行 D 2 分 A 第 A 行 B 第 B 行 C 第 C 行 D 没有 2 int a 4 5 3 8 9 其中 a 3 的值为 D 2 分 A 5 B 3 C 8 D 9 3 若有以下数组说明 则数值最小的和最大的元素下标分别是 int a 12 1 2 3 4 5 6 7 8 9 10 11 12 B 2 分 A 1 12 B 0 11 C 1 11 D 0 12 4 下面程序的运行结果是 include void main int a 10 1 2 2 3 4 3 4 5 1 5 int n 0 i j c k for i 0 i 10 n i c a i for j i 1 j 10 n j if a j c for k j k 10 n k a k a k 1 n for i 0 i 10 n i printf 2d a i printf n C 2 分 A 1 2 2 3 4 3 4 5 1 5 B 2 2 2 2 2 C 1 2 3 4 5 D 1 2 3 4 5 3 4 5 1 5 三 程序填空题三 程序填空题 10 10 分分 1 以下程序在 a 数组中查找与 x 值相同的元素的所在位置 5 分 include void main int a 11 x i printf Enter 10 integers n for i 1 i 10 i scanf d printf Enter x scanf d a 0 1 i 10 while x a i 2 if 3 printf 5d s position is 4d n x i else printf d Not been found n x 1 答案 2 分 x 2 答案 2 分 i 3 答案 1 分 i 0 2 以下程序在 a 数组中按正序 从小到大 存放数据 查找其中与 x 值相同的元素的所在位置 5 分 include define n 11 void main int comp x low mid high find int a n i printf Enter d integers n n for i 0 i n i scanf d printf Enter x scanf d low 0 high 1 comp 0 find 0 while lowa mid low mid 1 else 2 comp if 3 printf It s successful a d d d n mid x comp else printf It s fail to find d n x 1 答案 2 分 n 1 2 答案 2 分 high mid 1 3 答案 1 分 find 四 程序设计题四 程序设计题 20 20 分分 1 绝对值排序 10 分 题目描述 输入 n n 100 个整数 按照绝对值从大到小排序后输出 题目保证对于每一 个测试实例 所有的数的绝对值都不相等 输入描述 每组输入数据的第一个数字为 n 接着是 n 个整数 输出描述 对于每个测试实例 输出排序后的结果 两个数之间用一个空格隔开 样例输入 3 3 4 2 样例输出 4 3 2 参考答案 include include void main int a 100 i j n temp scanf d for i 0 i n i scanf d for i 0 i n 1 i for j 0 j n 1 i j if fabs a j fabs a j 1 temp a j a j a j 1 a j 1 temp for i 0 i n i printf d a i printf n 2 按逆序输出原输入数据 10 分 题目描述 输入 n 再输入 n 个整数放到一个数组中 要求将这个数组中的元素按逆序存 放后输出这 n 个数 其中 n 值小于 100 输入描述 输入 n 和 n 个整数 输出描述 按原来输入数据的逆序输出这 n 个数 样例输入 5 6 18 9 7 20 样例输出 20 7 9 18 6 参考答案 1 include void main int a 100 n i j t scanf d for i 0 i n i scanf d for i 0 j n 1 i j i j t a i a i a j a j t for i 0 i n i printf d a i printf n C C 语言语言 2 2 作业作业 6 6 一 选择题一 选择题 4 4 分分 1 下面程序的运行结果是 include void main int a 10 11 2 3 24 25 16 7 18 23 10 int k s i 参考答案 2 include void main int a 100 n i t scanf d for i 0 i n i scanf d for i 0 i n 2 i t a i a i a n 1 i a n 1 i t for i 0 i n i printf d a i printf n float ave for k s i 0 i 10 i if a i 2 0 continue s a i k if k 0 ave s k printf The number is d The average is f n k ave B 2 分 A The number is 10 The average is 13 000000 B The number is 5 The average is 13 000000 C The number is 5 The average is 14 000000 D The number is 5 The average is 13 800000 2 若输入 11 以下程序的运行结果是 include int sub int a int c c a 2 return c main int a e 10 c i 0 printf 输入一个整数 n scanf d while a 0 c sub a a a 2 e i c i for i 0 i printf d e i 1 C 2 分 A 11 B 521 C 1011 D 1101 二 程序填空题二 程序填空题 15 15 分分 1 有一部电梯运行时 每往上一层需要 6 秒钟 每往下一层需要 4 秒 每开一次门需要 5 秒 假设电梯在 0 层内有 N 个人 并且知道各自的楼 层需求 下面程序是计算完成一趟运行所需要的时间 输入数据 N 0 N 10 表示电梯在 0 层内的人数 然后是 N 个数据 表示 这 N 个人要到的楼层数 1 楼层数 100 例如输入 4 2 2 3 2 表示电梯在 0 层内有 4 个人 其中有 3 人上行到 2 楼 有 1 人上行到 3 楼 所以上行需要 18 秒 开门需要 10 秒 电梯再下来回到 0 层需要 12 秒 这趟运行所需要 40 秒 特别说明 1 假设最开始电梯在 0 层 2 完成所有请求后电梯需要回到 0 层 3 到同一楼层的人不管有几 人 电梯开门的时间总共只需要 5 秒 4 电梯运行时在 0 层以上只出 人 不再进人 5 分 include void main int n k int a 101 0 数组 a 的含义 元素 a k 的值表示到 k 楼层的人数 int i x y z f scanf d for i 0 i0 f 4 printf d x y z 1 答案 2 分 a k 2 答案 1 分 x 6 3 答案 1 分 n a f 4 答案 1 分 z 4 2 下面程序的功能是生成并打印某数列的前 20 项 输入该数列的前 两项 以后每个奇数编号的项是 前两项之和 偶数编号的项是前两相 差的绝对值 生成的 20 个数放在一维数组 x 中 并按每行 4 项的形式 输出 5 分 include void main int x 21 i j scanf d d i 3 do x i 1 x i 1 2 i 3 while i 20 for i 1 ix i 1 x i x i 1 x i 1 x i 3 答案 1 分 i 2 3 下面程序的功能是输入 10 个整数 找出最大数和最小数所在的位 置 并把二者对调 然后输出调整后的 10 个数 5 分 include void main int a 10 max min i j k for i 0 i 10 i scanf d min max a 0 1 for i 1 i 10 i if a i min min a i 2 for i 1 imax max a i j i a j min 3 printf The position of min is 3d n k printf The position of max is 3d n j for i 0 i 10 i printf 5d a i printf n 1 答案 2 分 k j 0 2 答案 2 分 k i 3 答案 1 分 a k max 三 程序设计题三 程序设计题 20 20 分分 1 母牛的故事 10 分 题目描述 有一头母牛 它每年年初生一头小母牛 每头小母牛从第四个年头开始 每年 年初也生一头小母牛 请编程实现在第 n 年的时候 共有多少头母牛 输入描述 输入数据每个测试实例包括一个整数 n 0 n 55 n 的含义如题目中描述 输出描述 对于每个测试实例 输出在第 n 年的时候母牛的数量 样例输入 5 样例输出 6 参考答案 include void main int a 55 n i j x a 1 1 第 1 年一头母牛 scanf d for i 2 i n i if i 4 a i a i 1 1 前三年只有母牛能生小母牛 else a i a i 1 a i 3 去年的母牛数加新生的小母牛 printf d n a n 输出第 n 年的母牛数 2 在数列中插入数据 10 分 题目描述 有 n n 20 个整数 已按从小到大顺序排列好 要求输入一个整数数 把它 插到数列中 使数列仍有序 并输出新的数列 不允许重新排序 输入描述 先输入数据个数 n 再输入 n 个整数 最后输入要插入的数 输入时各数之间 用空格隔开 输出描述 输出处理后的 n 1 个数 数据之间用空格分隔 样例输入 输入样例 1 5 7 2 6 10 15 8 输入样例 2 4 3 1 7 20 28 输入样例 3 6 4 8 10 13 20 56 5 样例输出 输出样例 1 7 2 6 8 10 15 输出样例 2 3 1 7 20 28 参考答案 2 include void main int a 21 n i j x scanf d for i 0 i n i scanf d scanf d for i 0 ix break 查找 x 的插入位置 for j n 1 j i j a j 1 a j 比 x 大的数均后移 a i x 将 x 插入到数组中 for i 0 i n i printf d a i printf n 输出样例 1 5 4 8 10 13 20 56 参考答案 1 include void main int i n a 21 x scanf d for i 0 i 0 i if a i x a i 1 a i 比插入数据大的元素后移 else break 找到插入位置则退出循环 a i 1 x 将 x 插入到数组中 for i 0 i n 1 i printf d a i printf n C C 语言语言 2 2 作业作业 7 7 一 选择题一 选择题 20 20 分分 1 若有说明 int a 3 4 0 则下面正确的叙述是 D 2 分 A 只有元素 a 0 0 可得到初值 0 B 此说明语句不正确 C 数组 a 中各元素都可得到初值 但其值不一定为 0 D 数组 a 中每个元素均可得到初值 0 2 若有说明 int a 3 4 则对 a 数组元素的正确引用是 C 2 分 A a 2 4 B a 1 3 C a 1 1 0 D a 2 1 3 在定义 int a 5 6 后 a 3 3 前有 个元素 C 2 分 A 14 B 18 C 21 D 26 4 若定义如下变量和数组 int j int x 3 3 1 2 3 4 5 6 7 8 9 则下面语句的输出结果是 for j 0 j 3 j printf d x j 2 j C 2 分 A 1 5 9 B 1 4 7 C 3 5 7 D 3 6 9 5 以下能正确定义数组并正确赋初值的语句是 D 2 分 A int N 5 b N N B int a 1 2 1 3 C int c 2 1 2 3 4 D int d 3 2 1 2 34 6 有以下程序 main int m 3 1 4 7 2 5 8 3 6 9 int i j k 2 for i 0 i 3 i printf d m k i 执行后输出结果是 C 2 分 A 4 5 6 B 2 5 8 C 3 6 9 D 7 8 9 7 以下程序的输出结果是 main int b 3 3 0 1 2 0 1 2 0 1 2 i j t 1 for i 0 i 3 i for j i j i j t t b i b j j printf d t B 2 分 A 3 B 4 C 1 D 9 8 设 int a 4 1 2 3 4 5 6 7 8 9 则数组 a 的第一维的大小是 B 2 分 A 2 B 3 C 4 D 无确定值 9 以下程序的输出结果是 main int a 3 3 1 2 3 4 5 6 i j s 0 for i 1 i 3 i for j 0 j i j s a i j printf d n s A 2 分 A 18 B 19 C 20 D 21 10 有以下程序 main int aa 4 4 1 2 3 4 5 6 7 8 3 9 10 2 4 2 9 6 int i s 0 for i 0 i 4 i s aa i 1 printf d n s 程序运行后的输出结果是 B 2 分 A 11 B 19 C 13 D 20 二 程序填空题二 程序填空题 5 5 分分 1 输出以下图形 1 2 2 2 2 2 1 3 1 2 2 2 1 4 3 3 1 2 1 4 4 3 3 3 1 4 4 4 3 3 1 5 1 4 4 3 1 5 5 5 1 4 1 5 5 5 5 5 1 include int main int a 7 7 int i j for i 0 i 7 i for j 0 j 7 j if 1 a i j 1 else if i j else if 3 a i j 4 else a i j 5 for i 0 i 7 i for j 0 j 7 j printf d a i j printf n 1 答案 2 分 i j i j 6 2 答案 2 分 a i j 2 3 答案 1 分 i6 三 程序设计题三 程序设计题 20 20 分分 1 输出矩阵中每行最大值 10 分 题目描述 输入一个 3 行 5 列的矩阵数据 输出矩阵中每行最大值 输入描述 输入 3 行 5 列共 15 个整数 输出描述 输出每行的最大值 每个最大值占一行 样例输入 6 7 8 2 8 0 3 4 5 9 5 6 1 2 0 样例输出 8 9 6 参考答案 include void main int a 3 5 i j max for i 0 i 3 i for j 0 j 5 j scanf d for i 0 i 3 i max a i 0 每行第一个元素作为找该行最大值的初始值 for j 1 j 5 j if max a i j max a i j printf d n max 2 计算对角线元素和 10 分 题目描述 求一个 N N N 不超过 10 矩阵两条对角线上元素之和 每个元素只加一次 输入描述 输入一个整数表示矩阵的阶数 再输入矩阵的内容 设元素值均为整数 输出描述 输出其对角线元素之和 每个元素只加一次 样例输入 输入样例 1 3 2 3 4 5 6 7 9 12 6 参考答案 2 include define N 10 void main int a N N i j sum 0 n scanf d for i 0 i n i for j 0 j n j scanf d for i 0 i n i for j 0 j n j if i j i j n 1 对角线元素 sum a i j printf d n sum 输入样例 2 4 8 7 4 2 5 6 9 4 9 7 8 3 5 1 7 6 样例输出 输出样例 1 27 输出样例 2 51 参考答案 1 include define N 10 void main int a N N i j sum 0 n scanf d for i 0 i n i for j 0 j n j scanf d for i 0 i n i sum a i i 加主对角线元素 if i n 1 i sum a i n 1 i 加副对角线元素 printf d n sum C C 语言语言 2 2 作业作业 8 8 一 选择题一 选择题 20 20 分分 1 下面程序的输出结果是 include void main int n 3 3 i j for i 0 i 3 i for j 0 j 3 j n i j i j for i 0 i 2 i for j 0 j 2 j n i 1 j 1 n i j printf d n n i j 参考答案 3 include define N 10 void main int a N N i j sum 0 n scanf d for i 0 i n i for j 0 j n j scanf d for i 0 i n i sum a i i a i n 1 i if n 2 1 sum a n 2 n 2 减去重复加元素 printf d n sum C 2 分 A 14 B 0 C 6 D 不确定 2 下面程序的输出结果是 include main int a 4 5 1 2 4 4 5 9 3 6 3 2 7 8 4 int i j n n 9 i n 5 j n i 5 1 printf d n a i j B 2 分 A 6 B 3 C 2 D 不确定 3 若有定义 char st 20 hello 0 t 则 st 中所存放字符串的长度和数 组 st 的长度分别是 C 2 分 A 20 和 20 B 13 和 20 C 5 和 20 D 9 和 9 4 若有定义 char s 141 141abc t 则 s 中所存放的字符串的长度是 A 2 分 A 9 B 12 C 13 D 14 5 若有定义和语句 char s 10 s abcd printf d n s 则结果是 D 2 分
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 水运工程测量基础知识培训课件
- 建筑工程高压电施工与安全防护方案
- 建筑工程项目施工现场交通管控方案
- 三年级下册英语试题Unit 3过关检测卷二(含答案)
- 建筑工程中的环保措施
- 人防项目资金预算与管理方案
- 拆除工程中的作业人员安全装备配置方案
- 二、声音的特性 -苏科版九年级《物理》上册考点练习
- 水电解质医学课件
- 水电砌墙基础知识培训课件
- U9-SCM-库存-Unit9-内部交易-V2
- 《化工和危化品生产经营单位重大生产安全事故隐患判定标准(细化版)》知识培训
- 2025年汉防己甲素项目市场调查研究报告
- 《新型主动脉夹层护理策略》课件
- 石油合作协议合同协议
- T∕CACM 1099-2018 中医治未病技术操作规范 隔药灸干预原发性痛经
- 固态电池成本控制-全面剖析
- 船舶锚泊与系泊系统
- 关于共建高校大思政体系推动高校共青团工作高质量发展的实施意见课件
- 中学数学教师教学成果展示
- 皮肤胶原蛋白的变化与光老化
评论
0/150
提交评论