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

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

1、国家二级 C语言机试(操作题)模拟试卷 200及答案与解析 一、程序填空题 1 给定程序中,函数 fun的功能是:求 ss所指字符串数组中长度最短的字符串所在的行下标,作为函数值返回,并把其串长放在形参 n所指变量中。 ss所指字符串数组中共有 M个字符串,且串长 #include #define M 5 #define N 20 int fun(char(*ss)N, int *n) int i, k=0, len=N; *found* for(2=0; i #inolude void fun(char*s) *found* while(*s!=) if(*s=A *s=a *s #incl

2、ude #include void fun(char*s, int num) NONO() *请在此函数内打开文件,输入测试数据,调用 fun函数,输出数据,关闭文件。 * char s10; FILE*rf, *wf; int i=0; rf=fopen(“in dat“, “r“); wf=fopen(“out dat“, “w“); while(i10) fgets(s, 10, rf); s7=0; fun(s, 7); fprintf(wf, “ s n“, s); i+ ; fclose(rf); fclose(wf); main() char s10; printf(“输入 7个

3、字符的字符串 “); gets(s); fun(s, 7); printf(“ n s“, s); NONO(); 国家二级 C语言机试(操作题)模拟试卷 200答案与解析 一、程序填空题 1 【正确答案】 (1)M (2)(3)k 【试题解析】 第一空:循环的目的是在 M个字符串中寻找长度最短的字符串,因此循环变量 i从 0变化到 M-1,故第一空处应为 “M”。 第二空: *n记录最小字符串的长度,由审题分析可知,字符串 ssi长度比 min小,则交换最小长度值和下标位置,故第二空处应为 “”。 第三空:变量 k记录了最小字符串的下标位置,函数的返回值是最短的字符串所在的行下标,故第三空处

4、应为 “k”。 二、程序修改题 2 【正确答案】 (1)while(*s) 或 while(*s!= 0) 或 while (*s!=0) (2)s+; 【试题解析】 (1)第一个错误标识下的 “while(*s!=)”语句原意是 s不指 向字符串尾就进入下面的循环,所以对于指针判断不为尾符的语句应该是 “while(*s)”或者“while(*s!= 0)”或者 “while(*s!=0)”。 (2)第二个标识下 “(*s)+; ”是对字符内容加 1,而原题是对字符位置加 1,所以将其改为 “s+; ”。 三、程序设计题 3 【正确答案】 Char t; int i, j ; for(i=1 ; inum一 2; i+) 对 n个元素进行循环选择 for(j=i+1 ; jnum 1 ; j+) if(sisj) 将 stri设为最大值,和剩下的 j- num-1进行比较 t=si; si=sj; sj=t; 【试题解析】 进入 fun函数,根据前面的分析: 选择排序法中的降序排序,首先从数组中挑选一个最大的元素,把它和第一个元素交换,接着从剩下的 num-1个元素中再挑出一个最大的元素,把它和第二个元素交换,不断重复以上过程,直到比较完最后两个元素。

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

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

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