1、2018 年计算机等级考试二级 C 语言程序题练习 36 及答案解析(总分:100.00,做题时间:60 分钟)一、程序填空题(总题数:1,分数:30.00)程序通过定义学生结构体变量,存储了学生的 学号、姓名和三门课的成绩。函数 fun 的功能是对 形参 b所指结构体变量中的数据进行修改,最后在 主函数中输出修改后的数据。例如,b 所指变量 t 中的学号、姓名和三门课 的成绩依次是 10002、“ZhangQi“、93、85、87,修 改后输出 t 中的数据应为 10004、“LiJie”、93、85、87。请在程序的下画线处填入正确的内容并把下画 线删除,使程序得出正确的结果。注意:源程序
2、保存在考生文件夹下的 BLANK1. C 中。不得增行或删行,也不得更改程序的结构!给定源程序如下。(分数:30)(1)(分数:10)填空项 1:_(2)(分数:10)填空项 1:_(3)(分数:10)填空项 1:_二、程序改错题(总题数:1,分数:30.00)给定程序 MODI1.C 中函数 fun 的功能是应用 递归算法求形参 a 的平方根。求平方根的迭代公 式如下。例如,a 为 2 时,平方根值为 1.414214。请改正程序中的错误,使它能得出正确结果。注意:不要改动 main 函数,不得增行或删行, 也不得更改程序的结构。给定源程序如下。(分数:30.00)_三、程序设计题(总题数:
3、1,分数:40.00)学生的记录由学号和成绩组成,N 名学生的数据已在主函数中放入结构体数组 s 中,请编写函数 fun,它的功能是把高于或等于平均分的学生数据放 在 b 所指的数组中,高于或等于平均分的学生人数 通过形参n 传回,平均分通过函数值返回。注意:部分源程序保存在文件 PROG1.C 中。请勿改动主函数 main 和其他函数中的任何 内容,仅在函数 fun 的花括号中填入编写的若干 语句。给定源程序如下。(分数:40.00)_2018 年计算机等级考试二级 C 语言程序题练习 36 答案解析(总分:100.00,做题时间:60 分钟)一、程序填空题(总题数:1,分数:30.00)程
4、序通过定义学生结构体变量,存储了学生的 学号、姓名和三门课的成绩。函数 fun 的功能是对 形参 b所指结构体变量中的数据进行修改,最后在 主函数中输出修改后的数据。例如,b 所指变量 t 中的学号、姓名和三门课 的成绩依次是 10002、“ZhangQi“、93、85、87,修 改后输出 t 中的数据应为 10004、“LiJie”、93、85、87。请在程序的下画线处填入正确的内容并把下画 线删除,使程序得出正确的结果。注意:源程序保存在考生文件夹下的 BLANK1. C 中。不得增行或删行,也不得更改程序的结构!给定源程序如下。(分数:30)(1)(分数:10)填空项 1:_ (正确答案
5、:-sno)解析:给 b 所指结构体变量学生学号赋值。(2)(分数:10)填空项 1:_ (正确答案:-name)解析:通过 strcpy 字符串拷贝函数修改 b 所 指结构体变量学生姓名。(3)(分数:10)填空项 1:_ (正确答案:(2)将字母 o 改为数字 0。三、程序设计题(总题数:1,分数:40.00)学生的记录由学号和成绩组成,N 名学生的数据已在主函数中放入结构体数组 s 中,请编写函数 fun,它的功能是把高于或等于平均分的学生数据放 在 b 所指的数组中,高于或等于平均分的学生人数 通过形参n 传回,平均分通过函数值返回。注意:部分源程序保存在文件 PROG1.C 中。请勿改动主函数 main 和其他函数中的任何 内容,仅在函数 fun 的花括号中填入编写的若干 语句。给定源程序如下。(分数:40.00)_正确答案:()解析:本题中第 1 个循环的作用求出所有分数的总和, 然后进行 av=av/N 后得到平均值。第 2 个循环的作 用是将大于等于平均分的学生存入 b 所指存储单元 中。注意同一结构体变量之间可以互相赋值。本程序中直接用*n 来表示 b 的下标,注意开始 时要给 *n 赋初值 0,且使用时不能少*号,因为单 独的n 是一个指针变量,而我们要用的是它所指向 的存储单元中的值。