1、+2018 年计算机等级考试二级 C 语言程序题练习 19 及答案解析(总分:100.00,做题时间:60 分钟)一、程序填空题(总题数:1,分数:30.00)给定程序中,函数 fun 的功能是建立一个 NxN 的矩阵。矩阵元素的构成规律是最外层元素的值全 部为 1;从外向内第 2 层元素的值全部为 2;第 3 层元素的值全部为 3依此类推。例如,若 N=5, 生成的矩阵如下:请在程序的下画线处填入正确的内容并把下画 线删除,使程序得出正确的结果。注意:源程序保存在考生文件夹下的 BLANK1. C 中。不得增行或删行,也不得更改程序的结构!给定源程序如下。(分数:30)(1).(分数:10)
2、填空项 1:_(2).(分数:10)填空项 1:_(3).(分数:10)填空项 1:_二、程序改错题(总题数:1,分数:30.00)给定程序 M0DI1.C 中函数 fun 的功能是将十进 制正整数 m 转换成 k(2k9)进制数,并按高位到低位顺序输出。例如,若输入 8 和 2,则应输出 1000 (即十进 制数 8 转换成二进制表示是 1000 )。请改正 fun 函数中的错误,使它能得出正确的结果。注意:不要改动 main 函数。不得增行或删行, 也不得更改程序的结构!给定源程序如下。(分数:30.00)_三、程序设计题(总题数:1,分数:40.00)编写一个函数,从 num 个字符串中
3、找出最长的 个字符串,并通过形参指针 max 传回该串地址(主函数中用*作为结束输入的标志,函数 fun 中给出的语句仅供参考)。注意:部分源程序保存在文件 PROG1.C 中。请勿改动主函数 main 和其他函数中的任何 内容,仅在函数 fun 的花括号中填入编写的若干语句。给定程序源如下。(分数:40.00)_+2018 年计算机等级考试二级 C 语言程序题练习 19 答案解析(总分:100.00,做题时间:60 分钟)一、程序填空题(总题数:1,分数:30.00)给定程序中,函数 fun 的功能是建立一个 NxN 的矩阵。矩阵元素的构成规律是最外层元素的值全 部为 1;从外向内第 2 层
4、元素的值全部为 2;第 3 层元素的值全部为 3依此类推。例如,若 N=5, 生成的矩阵如下:请在程序的下画线处填入正确的内容并把下画 线删除,使程序得出正确的结果。注意:源程序保存在考生文件夹下的 BLANK1. C 中。不得增行或删行,也不得更改程序的结构!给定源程序如下。(分数:30)(1).(分数:10)填空项 1:_ (正确答案:N)解析:本题考査了形参的确定。参数传递时将实参的值赋给形参,实参和形参是一一对应的, 因此该空应该填写N。(2).(分数:10)填空项 1:_ (正确答案:i )解析:第二重 for 循环中和 aij 表示第一行和最后一行数组 aNN的值,因而此空应该填写
5、 i。(3).(分数:10)填空项 1:_ (正确答案:i+1)解析:第三重 for 循环代表的是 aNN中每 一列的值,因此此空应该填写 i+1。二、程序改错题(总题数:1,分数:30.00)给定程序 M0DI1.C 中函数 fun 的功能是将十进 制正整数 m 转换成 k(2k9)进制数,并按高位到低位顺序输出。例如,若输入 8 和 2,则应输出 1000 (即十进 制数 8 转换成二进制表示是 1000 )。请改正 fun 函数中的错误,使它能得出正确的结果。注意:不要改动 main 函数。不得增行或删行, 也不得更改程序的结构!给定源程序如下。(分数:30.00)_正确答案:(1) a
6、ai=m%k;(2) printf(.“%d“,aai-1);)解析:(1)将十进制正整数转换为任意进制的数与十 进制正整数转换成二进制的数的方法是一样的。从 整数 n得出它的各位 k 进制数值,需采用除 k 取余 的方法,即求 n 除 k 的余数,得到它的 k 进制的个 位数,接着将 n 除以 k。在 n0 的情况下循环, 能顺序求出 n 的 k 进制的各位上的数。(2)在 for(i=0;m;i+)循环结束时,i 已经多加了 一个 1,所以这里要减去 1。三、程序设计题(总题数:1,分数:40.00)编写一个函数,从 num 个字符串中找出最长的 个字符串,并通过形参指针 max 传回该串地址(主函数中用*作为结束输入的标志,函数 fun 中给出的语句仅供参考)。注意:部分源程序保存在文件 PROG1.C 中。请勿改动主函数 main 和其他函数中的任何 内容,仅在函数 fun 的花括号中填入编写的若干语句。给定程序源如下。(分数:40.00)_正确答案:()解析:解答本题之前,首先应该明白 ss 是一个指向一 维数组的指针变量,max 是指向指针的变量,所以引用变量时要注意加上*。本程序使用循环语句遍历字符串数组,使用条件语句判断该字符串是否最大。