1、国家二级(C 语言)机试-试卷 65 及答案解析(总分:12.00,做题时间:90 分钟)一、程序填空题(总题数:2,分数:4.00)1.程序填空题()(分数:2.00)_2.给定程序中,函数 fun 的功能是:将 a 所指 35 矩阵中第 k 列的元素左移到第 0 列,第 k 列以后的每列元素行依次左移,原来左边的各列依次绕到右边。例如,有下列矩阵:1 2 3 4 51 2 3 4 51 2 3 4 5若 k 为 2,程序执行结果为 3 4 5 1 23 4 5 1 23 4 5 1 2 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的
2、BLANKlC 中。不得增行或删行,也不得更改程序的结构! (分数:2.00)_二、程序修改题(总题数:2,分数:4.00)3.程序修改题()(分数:2.00)_4.给定程序 MODllC 中函数 fun 的功能是:从低位开始取出长整型变量 s 中奇数位上的数,依次构成一个新数放在 1 中。高位仍在高位,低位仍在低位。例如,当 s 中的数为:7654321 时,t 中的数为:7531。 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动 main 函数,不得增行或删行,也不得更改程序的结构! (分数:2.00)_三、程序设计题(总题数:2,分数:4.00)5.程序设计题()(分数:2.
3、00)_6.编写一个函数,从 num 个字符串中找出最长的一个字符串,并通过形参指针 max 传回该串地址。(注意:主函数中用作为结束输入的标志。)注意:部分源程序在文件 PROGlC 中。请勿改动主函数 main 和其他函数中的任何内容,仅在函数 fun 的花括号中填入你编写的若干语句。 (分数:2.00)_国家二级(C 语言)机试-试卷 65 答案解析(总分:12.00,做题时间:90 分钟)一、程序填空题(总题数:2,分数:4.00)1.程序填空题()(分数:2.00)_解析:2.给定程序中,函数 fun 的功能是:将 a 所指 35 矩阵中第 k 列的元素左移到第 0 列,第 k 列以
4、后的每列元素行依次左移,原来左边的各列依次绕到右边。例如,有下列矩阵:1 2 3 4 51 2 3 4 51 2 3 4 5若 k 为 2,程序执行结果为 3 4 5 1 23 4 5 1 23 4 5 1 2 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的 BLANKlC 中。不得增行或删行,也不得更改程序的结构! (分数:2.00)_正确答案:(正确答案:(1)k (2)N-1 (3)temp)解析:解析:本题中函数 fun 的功能是将 a 所指 35 矩阵中第 k 列的元素左移到第 0 列,第 k 列以后的每列元素行依次左移,原来左
5、边的各列依次绕到右边,即把每列元素循环左移 k 个位置。二、程序修改题(总题数:2,分数:4.00)3.程序修改题()(分数:2.00)_解析:4.给定程序 MODllC 中函数 fun 的功能是:从低位开始取出长整型变量 s 中奇数位上的数,依次构成一个新数放在 1 中。高位仍在高位,低位仍在低位。例如,当 s 中的数为:7654321 时,t 中的数为:7531。 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动 main 函数,不得增行或删行,也不得更改程序的结构! (分数:2.00)_正确答案:(正确答案:(1)void fun (10ng s, long *t) (2)s1
6、s1*10;)解析:解析:本题中函数的功能是依次取出奇数位上的数。该题的解题思路主要是找出数字中的奇数位上的数。三、程序设计题(总题数:2,分数:4.00)5.程序设计题()(分数:2.00)_解析:6.编写一个函数,从 num 个字符串中找出最长的一个字符串,并通过形参指针 max 传回该串地址。(注意:主函数中用作为结束输入的标志。)注意:部分源程序在文件 PROGlC 中。请勿改动主函数 main 和其他函数中的任何内容,仅在函数 fun 的花括号中填入你编写的若干语句。 (分数:2.00)_正确答案:(正确答案: )解析:解析:该程序功能是找出最长的一个字符串。解题思路,首先指定第一个字符串为长度最大的字符串,然后在循环过程中将其与其他的所有串的长度进行比较,求出最长的串。