【计算机类职业资格】国家二级(C语言)机试-试卷27-2及答案解析.doc

上传人:outsidejudge265 文档编号:1334663 上传时间:2019-10-17 格式:DOC 页数:3 大小:32.50KB
下载 相关 举报
【计算机类职业资格】国家二级(C语言)机试-试卷27-2及答案解析.doc_第1页
第1页 / 共3页
【计算机类职业资格】国家二级(C语言)机试-试卷27-2及答案解析.doc_第2页
第2页 / 共3页
【计算机类职业资格】国家二级(C语言)机试-试卷27-2及答案解析.doc_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

1、国家二级(C 语言)机试-试卷 27-2 及答案解析(总分:12.00,做题时间:90 分钟)一、程序填空题(总题数:2,分数:4.00)1.程序填空题()(分数:2.00)_2.给定程序中,函数 fun 的功能是:求出形参 ss 所指字符串数组中最长字符串的长度,将其余字符串右边用字符*补齐,使其与最长的字符串等长。ss 所指字符串数组中共有 M 个字符串,且串长 #include #define M 5 #define N 20 void fun(char (*ss)N) int i, j, n, len=0; for(i=0; i_二、程序修改题(总题数:2,分数:4.00)3.程序修改

2、题()(分数:2.00)_4.给定程序 MODllC 中函数 fun 和 funx 的功能是:用二分法求方程 2x 3 -4x 3 +3x6=0 的一个根,并要求绝对误差不超过 0001。 例如,若给 m 输入-100,给 n 输入 90,则函数求得的一个根值为2000。 请改正程序中的错误,使它能得出正确结果。 注意:不要改动 main 函数,不得增行或删行,也不得更改程序的结构。 #include #include double funx(double x) return(2*x*x*x-4*x*x+3*x-6); double fun(double m, double n) /*foun

3、d*/ int r; r=(m+n)/2; /*found*/ while(fabs(n-m)(分数:2.00)_三、程序设计题(总题数:2,分数:4.00)5.程序设计题()(分数:2.00)_6.请编一个函数 void fun(int ttMN,int ppN),tt 指向一个 M 行 N 列的二维数组,求出二维数组每列中最小元素,并依次放入 pp 所指一维数组中。二维数组中的数已在主函数中赋予。 注意:部分源程序存在文件 PROGlC 中。 请勿改动主函数 main 和其他函数中的任何内容,仅在函数 fun 的花括号中填入你编写的若干语句。 #include #define M 3 #d

4、efine N 4 void fun (int ttMN, int ppN) NONO() /* 请在此函数内打开文件,输入测试数据,调用 fun 函数,输出数据,关闭文件。 */ int i, j, k, m, tMN, pN ; FILE *rf, *wf ; rf = fopen(“in.dat“,“r“); wf = fopen(“out.dat“,“w“); for(m = 0 ; m 0.001)解析:解析:(1)fun 函数要求返回方程的一个根,由 return 语句来实现,而函数 fun 是定义为 double型的,但第一个标识下面的 r 却被定义为 int 类型。所以“int

5、 r;”改为“double r;”。 (2)检查while 循环的控制表达式“(fabs(n-m)0.001)”。三、程序设计题(总题数:2,分数:4.00)5.程序设计题()(分数:2.00)_解析:6.请编一个函数 void fun(int ttMN,int ppN),tt 指向一个 M 行 N 列的二维数组,求出二维数组每列中最小元素,并依次放入 pp 所指一维数组中。二维数组中的数已在主函数中赋予。 注意:部分源程序存在文件 PROGlC 中。 请勿改动主函数 main 和其他函数中的任何内容,仅在函数 fun 的花括号中填入你编写的若干语句。 #include #define M 3

6、 #define N 4 void fun (int ttMN, int ppN) NONO() /* 请在此函数内打开文件,输入测试数据,调用 fun 函数,输出数据,关闭文件。 */ int i, j, k, m, tMN, pN ; FILE *rf, *wf ; rf = fopen(“in.dat“,“r“); wf = fopen(“out.dat“,“w“); for(m = 0 ; m 10 ; m+) for(i=0; i N; k+) fprintf (wf, “ %4d “, pk); fprintf(wf, “/n“); fclose(rf); fclose(wf);

7、main() int t MN=22,45, 56,30,19,33, 45,38,20, 22,66,40; int p N, i, j, k; printf (“The original data is : /n“); for(i=0; i N; k+) printf (“ %4d “, pk); printf(“/n“); NONO(); (分数:2.00)_正确答案:(正确答案: int i,j, min, k; for(i=0; ittji) min=ttji; k=j; ppi=ttki; )解析:解析:进入 fun 函数,根据前面的分析: (1)依次访问每一列的元素。 (2)在对每一列的访问过程中选出最小数。 (3)将选出的最小数依次放到一维数组中。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试资料 > 职业资格

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1