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

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

1、国家二级 C语言机试(操作题)模拟试卷 647及答案与解析 一、程序填空题 1 使用 VC+2010打开考生文件夹下 blank1中的解决方案。此解决方案的项目中包含一个源程序文件 blank1 c。在此程序中,函数 fun的功能是:在 34的矩阵中找出在行上最大、在列上最小的那个元素,若没有符合条件的元素则输出相应信息。 例如,有下列矩阵: 1 2 13 4 7 8 10 6 3 5 9 7 程序执行结果为: find: a22=9 请在程序的下画线处填入正确的内容并把下画线删除,使程序 得出正确的结果。 注意:部分源程序在文件 BLANK1 C中。不得增行或删行,也不得更改程序的结构 !

2、试题程序: #include stdio h #define M3 #define N4 void fun(int(*a)N) inti=0, j, find=0, rmax, c, k; while(i M)&(!find) rmax=ai0; c=0; for(j=1; j N; j+) if(17max aij) *found* rmax=aij; c=【 1】 ; ) find=1; k=0; while(k M&find) *found* if(k!=i&akc =rmax) find=【 2】 ; k+; if(find) printf(“find: a d d= d n“, i,

3、 c, aic); *found* 【 2】 ; if(!find) printf(“not found! n“); main() int xMN, i, j; printf(“Enter number for array: n“); for(i=0; i M; i+) for(j=0; j N; j+) scanf(“ d“, &xij); printf(“The array: n“); for(i=0; i M; i+) for(j=0; j N; j+) printf(“ 3d“, xij); printf(“ n n“); fun(x); 二、程序修改题 2 使用 VC+2010打开考

4、生文件夹下 modi1中的解决方案。此解决方案的项目中包含一个源程序文件 modi1 c。在此程序中,函数 fun的功能是:计算正整数 num各位上的数字之积。 例如,若输入 252,则输出应该是 20。若输入 202,则输出应该是 0。 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动 main函数,不得增行或删行,也不得更改程序的结构 ! 试题程序: #include stdio h #include conio h long fun(long num) *found* long k; do k*=num 10; *found* num =10; while(num); retu

5、rn(k); main() long n; printf(“ n please entera number: “); scanf(“ ld“, &n); printf(“kn ld n“, fun(n); 三、程序设计题 3 使用 VC+2010打开考生文件夹下 prog1中的解决方案。此解决方案的项目中包含一个源程序文件 prog1 c。在此程序中,已知学生的记录由学号和学习成绩构成, N名学生的数据已存入 a结构体数组中。请编写函数 fun,该函数的功能是:找出成绩最高的学生记录,通过形参返回主函数 (规定只有一个最高分 )。已给出函数的首部,请完成该函数。 注意:部分源程序给出如下。 请

6、勿改动主函数 main和其他函数中的任何内容,仅在函数 fun的花括号中填入你编写的若干语句。 试题程序: #include stdlib h #include stdio h #include string h #include conio h #define N10 typectef struct ss *定义结构体 * char num10; int s; STU; fun(STU a, STU*s) void main() STU aN=“A01“, 81, “A02“, 89, “A03“, 66, “A04“, 87, (“A05“,77, “A06“, 90, “A07“, 79

7、, “A08“, 61, “A09“, 80, “A10“, 71,m; int i; system(“CLS“); printf(“*The original data*“); for(i=0; i N; i+) printf(“No= s Mark= d n“, ai num, ai s); fun(a, &m); printf(f“*THE RESULT* n“); printf(“The top: s, d n“, m num s); 国家二级 C语言机试(操作题)模拟试卷 647答案与解析 一、程序填空题 1 【正确答案】 (1)j (2)0 (3)i+ 【试题解析】 本题是在矩阵中

8、找出在行上最大、在列上最小的那个元素。 填空 1:找出行上最大的数,并将该数的列数 j保存在 c中,所以应填 j。 填空 2:使用 while循环语句和控制变量 find,如果该数不是列中的最小数,那么把 find置 0,所以应填 0。 填空 3: i是 while的控制变量,所以每做一次循环,该数值要加 1,所以应填i+。 二、程序修改题 2 【正确答案】 (1)long k=1; (2)num =10; 【试题 解析】 (1)k用来存放各位数字的积,初始值应为 1。 (2)此处是一个符号错误,除号用 “ ”来表示。 三、程序设计题 3 【正确答案】 fun(STU a, STU*s) int i; *s=a0; for(i=0; i N; i+) *找出成绩最高的学生记录 * if(s- s ai s) *s=ai; 【试题解析】 本题的流程是先使 s指向第 1名学生,利用循环语句遍历所有学生的成绩,利用条件语句判断当前学生成绩是否最高,所以 if语句的条件是 s- sai s。此外,做题 时应该熟练掌握 “指向运算符 ”和 “成员运算符 ”的相关知识,题中 “s- s”等价于 “(*s) s”。

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

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

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