1、国家二级(C 语言)机试-试卷 85 及答案解析(总分:12.00,做题时间:90 分钟)一、程序填空题(总题数:2,分数:4.00)1.程序填空题()(分数:2.00)_2.给定程序中,函数 fun 的功能是:计算出形参 s 所指字符串中包含的单词个数,作为函数值返回。为便于统计,规定各单词之间用空格隔开。例如,形参 s 所指的字符串为:This is a C languageprogram,函数的返回值为 6。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的 BLANKlC 中。 不得增行或删行,也不得更改程序的结构! (分数:2.0
2、0)_二、程序修改题(总题数:2,分数:4.00)3.程序修改题()(分数:2.00)_4.给定程序 MODllC 中函数 fun 的功能是:首先将大写字母转换为对应小写字母;若小写字母为 au,则将其转换为其后的第 5 个字母;若小写字母为 vz,使其值减 21。转换后的小写字母作为函数值返回。例如,若形参是字母 A,则转换为小写字母 f 若形参是字母 W,则转换为小写字母 b。请改正函数 fun 中指定部位的错误,使它能得出正确的结果。注意:不要改动 main 函数,不得增行或删行,也不得更改程序的结构! (分数:2.00)_三、程序设计题(总题数:2,分数:4.00)5.程序设计题()(
3、分数:2.00)_6.函数 fun 的功能是:将 a、b 中的两个两位正整数合并形成一个新的整数放在 c 中。合并的方式是:将a 中的十位和个位数依次放在变量 c 的十位和千位上,b 中的十位和个位数依次放在变量 c 的个位和百位上。例如,当 a45,b12。调用该函数后,c5241。注意:部分源程序存在文件PROGlC 中。数据文件 INDAT 中的数据不得修改。请勿改动主函数 main 和其他函数中的任何内容,仅在函数 fun 的花括号中填入你编写的若干语句。 (分数:2.00)_国家二级(C 语言)机试-试卷 85 答案解析(总分:12.00,做题时间:90 分钟)一、程序填空题(总题数
4、:2,分数:4.00)1.程序填空题()(分数:2.00)_解析:2.给定程序中,函数 fun 的功能是:计算出形参 s 所指字符串中包含的单词个数,作为函数值返回。为便于统计,规定各单词之间用空格隔开。例如,形参 s 所指的字符串为:This is a C languageprogram,函数的返回值为 6。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的 BLANKlC 中。 不得增行或删行,也不得更改程序的结构! (分数:2.00)_正确答案:(正确答案:(1)n+ (2)0 (3)s+)解析:解析:本题中函数 fun 的功能是计算
5、出形参 s 所指字符串中包含的单词个数,作为函数值返回。单词之间是以空格隔开的,因此在字符串里面搜索空格,找到一个空格则单词数量加 1,如此搜索完整个字符串便可得到单词数量。二、程序修改题(总题数:2,分数:4.00)3.程序修改题()(分数:2.00)_解析:4.给定程序 MODllC 中函数 fun 的功能是:首先将大写字母转换为对应小写字母;若小写字母为 au,则将其转换为其后的第 5 个字母;若小写字母为 vz,使其值减 21。转换后的小写字母作为函数值返回。例如,若形参是字母 A,则转换为小写字母 f 若形参是字母 W,则转换为小写字母 b。请改正函数 fun 中指定部位的错误,使它
6、能得出正确的结果。注意:不要改动 main 函数,不得增行或删行,也不得更改程序的结构! (分数:2.00)_正确答案:(正确答案:(1)c=c32; (2)cc5;)解析:解析:本题中函数的功能是将某些大写字母转换为对应小写字母之后的第五个字母。对于将字母转换的题型,首先是查找符合条件的字符,然后根据规则对字符进行转换。本题需要大家了解大小写字母是怎样通过 ASCII 码相互转换的。三、程序设计题(总题数:2,分数:4.00)5.程序设计题()(分数:2.00)_解析:6.函数 fun 的功能是:将 a、b 中的两个两位正整数合并形成一个新的整数放在 c 中。合并的方式是:将a 中的十位和个位数依次放在变量 c 的十位和千位上,b 中的十位和个位数依次放在变量 c 的个位和百位上。例如,当 a45,b12。调用该函数后,c5241。注意:部分源程序存在文件PROGlC 中。数据文件 INDAT 中的数据不得修改。请勿改动主函数 main 和其他函数中的任何内容,仅在函数 fun 的花括号中填入你编写的若干语句。 (分数:2.00)_正确答案:(正确答案: )解析:解析:该程序功能是将两个正整数合并形成一个整数的题型。本题类型首先要考虑整数的位数分离,然后要进行位数合成。也就是先将数字的各位数拆开,改变排列顺序后,再组合成新的数字。