[计算机类试卷]国家二级(C语言)机试模拟试卷380及答案与解析.doc

上传人:deputyduring120 文档编号:503142 上传时间:2018-11-29 格式:DOC 页数:7 大小:100KB
下载 相关 举报
[计算机类试卷]国家二级(C语言)机试模拟试卷380及答案与解析.doc_第1页
第1页 / 共7页
[计算机类试卷]国家二级(C语言)机试模拟试卷380及答案与解析.doc_第2页
第2页 / 共7页
[计算机类试卷]国家二级(C语言)机试模拟试卷380及答案与解析.doc_第3页
第3页 / 共7页
[计算机类试卷]国家二级(C语言)机试模拟试卷380及答案与解析.doc_第4页
第4页 / 共7页
[计算机类试卷]国家二级(C语言)机试模拟试卷380及答案与解析.doc_第5页
第5页 / 共7页
点击查看更多>>
资源描述

1、国家二级( C语言)机试模拟试卷 380及答案与解析 一、程序填空题( 30分) 1 给定程序中已建立一个带有头结点的单向链表,在 main函数中将多次调用 fun函数,每调用一次 fun函数,输出链表尾部结点中的数据,并释放该结点,使链表缩短。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的 BLANKl C中。不得增行或删行,也不得更改程序的结构! 二、程序修改题( 30分) 2 下列给定的程序中,函数 fun()的功能是:计算并输出 k以内最大的 10个 能被 13或 17整除的自然数之和。 K的值由主函数传入,若 k的值为 500,

2、则函数的值为4622。 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动 main函数,不得增行或删行,也不得更改程序的结构。 试题程序: #include stdio.h #include conio.h int fun(int k) int m=0,mc=0, j; while(k =2)mc+; k-; /*found*/ return m; main() clrscr(); printf(“%dn “,fun(500); 三、程序设计题( 40分) 3 请编写函数 fun(),它的功能是:判断字符串是否是回文 ?若是,函数返回 1,主函数中输出: YES,否则返回 0,主函数

3、输出 NO。回文是指顺读和倒读都一样的字符串。 例如,字符串 LEVEL是回文,而字符串 12312就不是回文。 注意 部分源程序给出如下。 请勿改动主函数 main和其他函数中的任何内容,仅在函数 fun的花括号中填入所编写的若干语句。 试题源程序 #include stdio.h #define N 80 int fun(char *str) main() char sN; printf(“Enter a string:“)“ gets(s); printf(“nn“); puts(s); if(fun(s) printf(“ YESn“); else printf(“ NOn“); NO

4、NO(); NONO() /*请在此函数内打开文件,输入测试数据,调用 fun函数,输出数据,关闭文件。 */ FILE *rf, *wf; int i ; char sN; rf=fopen(“K:k0624010001in.dat“, “r“); wf=fopen(“K:k0624010001out.dat“, “w“); for(i=0; i 10; i+) fscanf(rf, “%s“, s); if(fun(S) fprintf(wf, “%s YESn“, s); else fprintf(wf, “%s NOn“, s); fclose(rf); fclose(wf); 国家二

5、级( C语言)机试模拟试卷 380答案与解析 一、程序填空题( 30分) 1 【正确答案】 (1)next (2)t-data (3)t 【试题解析】 fun函数的功能是输出链表尾部结点中的数据,并释放该结点,使链表缩短。由于链表是单向的,找到链表尾部结点需要利用循环从头结点开始查找,直至找 到最后一个,找到之后输出尾部结点的数据,然后删除尾结点。 二、程序修改题( 30分) 2 【正确答案】 (1)错误: if(k%13=0)|(k%17=0) 正确: if(k%13=0)|(k%17=0) (2) 错误:缺少大括号 正确:加 【试题解析】 能被某个数整除的表示方法是 x%y=0,而并非像题

6、目中所表示的if(k%13=0)|(k%17=0),所以, if(k%13=0)|(k%17=0)修改后的结果应该是答案所示信息, (2)中缺少程序完整所需的 “”,此类信息在做题时一定注意,我们可以在上机考试的时候先运行一下程序,这样明显的错误一般都会有错误信息显示出来,比如丢失 “”的错误信息是 “Compound statement missing in function fun”,并在当前错误处停止光标,我们只要按回车键进行编辑就可以了。 三、程序设计题( 40分) 3 【正确答案】 int fun(char *str) int i, n=0, fg=1; char *p=str; while(*p) n+; P+; for(i=0; i n/2; i+) if(stri=strn-1-i); else fg=0; break; return fg; 【试题解析】 本题的设计思路是: (1)定义一个 int型变量 flag用做返回值,定义一个字符指针代替原串遍历,求字符串的长度; (2)利用循环及 if条件语句判断字符串首尾对应字符是否相等; (3)如果为回文数,修改 flag的值; (4)返回 flag

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

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

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