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

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

1、国家二级(C 语言)机试-试卷 43 及答案解析(总分:12.00,做题时间:90 分钟)一、程序填空题(总题数:2,分数:4.00)1.程序填空题()(分数:2.00)_2. (分数:2.00)_二、程序修改题(总题数:2,分数:4.00)3.程序修改题()(分数:2.00)_4.给定程序 MODIIC 中函数 fun 的功能是:逐个比较 P、q 所指两个字符串对应位置中的字符,把 ASCII值大或相等的字符依次存放到 c 所指数组中,形成一个新的字符串。 例如,若主函数中 a 字符串为:aBCDeFgH,主函数中 b 字符串为:ABcd,则 c 中的字符串应为:aBcdeFgH。 请改正程

2、序中的错误,使它能得出正确结果。 注意:不要改动 main 函数,不得增行或删行,也不得更改程序的结构。 #include #include void fun(char *p ,char *q, char *c) /*found*/ int k=1; /*found*/ while(*p|*q) if(*p_三、程序设计题(总题数:2,分数:4.00)5.程序设计题()(分数:2.00)_6.请编写一个函数 fun,它的功能是:计算 n 门课程的平均分,计算结果作为函数值返回。 例如:若有5 门课程的成绩是:905,72,80,615,55 则函数的值为:7180。 注意:部分源程序存在文件P

3、ROGlC 中。 请勿改动主函数 main 和其他函数中的任何内容,仅在函数 fun 的花括号中填入你编写的若干语句。 #include float fun (float *a , int n) main() float score30=90.5, 72, 80, 61.5, 55, aver; void NONO (); aver = fun(score, 5); printf(“/nAverage score is: %5.2f/n“, aver); NONO (); void NONO () /* 本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 */ FILE *fp, *

4、wf ; int i, j ; float aver, score5 ; fp = fopen(“in.dat“,“r“); wf = fopen(“out.dat“,“w“); for(i = 0 ; i 10 ; i+) for(j = 0 ; j 5 ; j+) fscanf(fp,“%f,“, aver = fun(score, 5); fprintf(wf, “%5.2f/n“, aver); fclose(fp); fclose(wf); (分数:2.00)_国家二级(C 语言)机试-试卷 43 答案解析(总分:12.00,做题时间:90 分钟)一、程序填空题(总题数:2,分数:4

5、.00)1.程序填空题()(分数:2.00)_解析:2. (分数:2.00)_正确答案:(正确答案:tN i=0 s)解析:解析:第一空:在主函数中 fun 函数的调用形式是“fun(t,N);”,t 是二维数组名,故 fun 函数的第一个参数为指针,因此第一空处应为“tN”。 第二空:fun 函数的第二个参数 n 指明了矩阵的大小为 n,对角线元素与反向对角线元素有 n 个,故循环有 n 次,因此变量 i 从 0 开始,到 n-1 结束,因此第一空处应为“i=0;i二、程序修改题(总题数:2,分数:4.00)3.程序修改题()(分数:2.00)_解析:4.给定程序 MODIIC 中函数 fu

6、n 的功能是:逐个比较 P、q 所指两个字符串对应位置中的字符,把 ASCII值大或相等的字符依次存放到 c 所指数组中,形成一个新的字符串。 例如,若主函数中 a 字符串为:aBCDeFgH,主函数中 b 字符串为:ABcd,则 c 中的字符串应为:aBcdeFgH。 请改正程序中的错误,使它能得出正确结果。 注意:不要改动 main 函数,不得增行或删行,也不得更改程序的结构。 #include #include void fun(char *p ,char *q, char *c) /*found*/ int k=1; /*found*/ while(*p|*q) if(*p_正确答案:

7、(正确答案:int k=0; aBCDeFgH)解析:解析:(1)第一个标识下面的“int k=1;”在题目中要求将字符放在数组 c,如果数组中有 n 个元素,应该从 c0到 cn-1。所以,应将 k 的初始化定义改为从 0 开始,即“int k=0;”。 (2)第二个标识下面的判断条件,是根据题目要求逐个比较两个数组对应字符的 ASCII 值的大小,所以判断条件应该是直到两个字符数组所有元素比较完毕,而不是数组对应元素不相等。 其中,该题主要考查变量的初始化,逻辑关系。三、程序设计题(总题数:2,分数:4.00)5.程序设计题()(分数:2.00)_解析:6.请编写一个函数 fun,它的功能

8、是:计算 n 门课程的平均分,计算结果作为函数值返回。 例如:若有5 门课程的成绩是:905,72,80,615,55 则函数的值为:7180。 注意:部分源程序存在文件PROGlC 中。 请勿改动主函数 main 和其他函数中的任何内容,仅在函数 fun 的花括号中填入你编写的若干语句。 #include float fun (float *a , int n) main() float score30=90.5, 72, 80, 61.5, 55, aver; void NONO (); aver = fun(score, 5); printf(“/nAverage score is: %

9、5.2f/n“, aver); NONO (); void NONO () /* 本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 */ FILE *fp, *wf ; int i, j ; float aver, score5 ; fp = fopen(“in.dat“,“r“); wf = fopen(“out.dat“,“w“); for(i = 0 ; i 10 ; i+) for(j = 0 ; j 5 ; j+) fscanf(fp,“%f,“, aver = fun(score, 5); fprintf(wf, “%5.2f/n“, aver); fclose(fp); fclose(wf); (分数:2.00)_正确答案:(正确答案: int i; float ave=0.0; for(i=0; i解析:解析:(1)在函数中首先定义平均分的变量,并将其初始化值置为 0。 (2)然后在 for 循环中,求得所有成绩的总分,并在总分的基础上求得平均分。

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

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

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