1、2018 年计算机等级考试二级 C 语言程序题练习 26 及答案解析(总分:100.00,做题时间:60 分钟)一、程序填空题(总题数:1,分数:30.00)给定程序中,函数 fun 的功能是计算出形参 s 所指字符串中包含的单词个数,并作为函数值返回。 为便于统计,规定各单词之间用空格隔开,字符串 中只有字母与空格。例如,形参 s 所指的字符串为“This is a C language program”函数的返回值为 6。请在程序的下画线处填入正确的内容并把下画 线删除,使程序得出正确的结果。注意:源程序保存在考生文件夹下的 BLANK1.C 中。不得增行或删行,也不得更改程序的结构!给定
2、源程序如下。(分数:30)(1)(分数:10)填空项 1:_(2)(分数:10)填空项 1:_(3)(分数:10)填空项 1:_二、程序改错题(总题数:1,分数:30.00)给定程序 MODI1.C 中函数 fun 的功能是从 n (形参)个学生的成绩中统计出低于平均分的学生人数, 此人数由函数值返回,平均分存放在形参 aver 所指 的存储单元中。例如,若输入 8 名学生的成绩:80.5、60、72、 90.5、98、51.5、88、64,则低于平均分的学生人数 为 4 (平均分为 75.5625 )。请改正程序中的错误,使它能统计出正确的 结果。注意:不要改动 main 函数,不得增行或删
3、扞, 也不得更改程序的结构!给定源程序如下。(分数:30.00)_三、程序设计题(总题数:1,分数:40.00)请编写函数 fun,其功能是求出数组的最大 元素在数组中的下标并存放在 k 所指的存储单 元中。例如,输入如下整数:876、675、896、101、 301、 401、 980、 431、 451、 777。则输出结果为 6980。注意:部分源程序保存在文件 PROG1.C 中。请勿改动主函数 main 和其他函数中的任何内 容,仅在函数 fun 的花括号中填入编写的若干语句。给定源程序如下。(分数:40.00)_2018 年计算机等级考试二级 C 语言程序题练习 26 答案解析(总
4、分:100.00,做题时间:60 分钟)一、程序填空题(总题数:1,分数:30.00)给定程序中,函数 fun 的功能是计算出形参 s 所指字符串中包含的单词个数,并作为函数值返回。 为便于统计,规定各单词之间用空格隔开,字符串 中只有字母与空格。例如,形参 s 所指的字符串为“This is a C language program”函数的返回值为 6。请在程序的下画线处填入正确的内容并把下画 线删除,使程序得出正确的结果。注意:源程序保存在考生文件夹下的 BLANK1.C 中。不得增行或删行,也不得更改程序的结构!给定源程序如下。(分数:30)(1)(分数:10)填空项 1:_ (正确答案
5、:n+)解析:单词个数用变量 n 来统计,当前字母 不是空格且 flag 状态标志为 0 时,可以判断出现一 个新的单词,则单词数就加 1,将状态标志 flag 置 为 1,所以应填 n+。(2)(分数:10)填空项 1:_ (正确答案:0)解析:当前字符是空格时,flag 状态标志置 0,所以应填 0。(3)(分数:10)填空项 1:_ (正确答案:s+)解析:判断完一个字符之后,要继续判断字 符串的下一个位置,所以应填 s+。二、程序改错题(总题数:1,分数:30.00)给定程序 MODI1.C 中函数 fun 的功能是从 n (形参)个学生的成绩中统计出低于平均分的学生人数, 此人数由函
6、数值返回,平均分存放在形参 aver 所指 的存储单元中。例如,若输入 8 名学生的成绩:80.5、60、72、 90.5、98、51.5、88、64,则低于平均分的学生人数 为 4 (平均分为 75.5625 )。请改正程序中的错误,使它能统计出正确的 结果。注意:不要改动 main 函数,不得增行或删扞, 也不得更改程序的结构!给定源程序如下。(分数:30.00)_正确答案:((1 ) t+=sk;(2 ) *aver=ave;)解析:根据题目要求,可利用循环语句累计 n 个学生 的总分,求得平均成绩后,再利用循环语句和条件 选择语句进行后面的操作。若小于平均值,则将该 值存放于 aver
7、 存储单元中。t=sk是循环叠加错误, *aver=Ave 为拼写错误。三、程序设计题(总题数:1,分数:40.00)请编写函数 fun,其功能是求出数组的最大 元素在数组中的下标并存放在 k 所指的存储单 元中。例如,输入如下整数:876、675、896、101、 301、 401、 980、 431、 451、 777。则输出结果为 6980。注意:部分源程序保存在文件 PROG1.C 中。请勿改动主函数 main 和其他函数中的任何内 容,仅在函数 fun 的花括号中填入编写的若干语句。给定源程序如下。(分数:40.00)_正确答案:()解析:本题中直接使用指针变量 k,使用时要注意对 k 进行指针运算。程序一开始让 k 指向数组中的第一 个元素,即*k=0。