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

上传人:postpastor181 文档编号:498025 上传时间:2018-11-28 格式:DOC 页数:4 大小:29KB
下载 相关 举报
[计算机类试卷]国家二级C语言机试(操作题)模拟试卷110及答案与解析.doc_第1页
第1页 / 共4页
[计算机类试卷]国家二级C语言机试(操作题)模拟试卷110及答案与解析.doc_第2页
第2页 / 共4页
[计算机类试卷]国家二级C语言机试(操作题)模拟试卷110及答案与解析.doc_第3页
第3页 / 共4页
[计算机类试卷]国家二级C语言机试(操作题)模拟试卷110及答案与解析.doc_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

1、国家二级 C语言机试(操作题)模拟试卷 110及答案与解析 一、程序填空题 1 下列给定程序中,函数 fun的功能是:计算 N XN矩阵的主对角线元素和反向对角线元素之和,并作为函数值返回。要求先累加主对角线元素中的值,再累加反向对角线元素中的值。 例如,若 N=3,有下列矩阵: 1 2 3 4 5 6 7 8 9 首先累加 1、 5、 9,然后累加 3、 5、 7,函数返回值为 30。 请在程序的下画线处填入正确的内容并将下画线删除,使程序得出 正确的结果。 注意:部分源程序给出如下。 不得增行或删行,也不得更改程序的结构 ! 试题程序: #include stdio h #define N

2、 4 fun(int tN, int n) int i, sum; /*found*/ 【 1】 ; for(i=0; i n, i+) /*found*/ sum+=【 2】 ; for(i=0; i n; i+) /*found*/ sum+=tini【 3】 ; Eeturn sum; main() int i, j, tN=21, 2, 13, 24, 25, 16, 47, 38, 29, 11, 32, 54, 42, 21, 3, 10); printf(“ nThe original data: n”); for(i=0;i N; i+) for(j=0; j N; j+) p

3、rintf(“ 4d”, tij); printf(“ n”), printf(“The result is: d”, fun (t, N); 二、程序修改题 2 下列给定程序中,函数 fun的功能是:先将 s所指字符串中的宁符按逆序存放到t所指字符串中,然后把 s所指串中的字符按正序连接到 t所指串之后。 例如,当 s所指的字符串为 “ABCDE”时, t所指的字符串应为“EDCBAABCDE”。 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动 main函数,不得增 行或删行,也不得更改程序的结构 ! 试题程序: #include stdlib h #include conio

4、h #include stdio h #include string h void fun(char*s, char*t) /*found*/ int i; s1=strlen(s); for(i=0; i s1; i+) /*found*/ ti=ss1一 i; for(i=0; i =s1; i+) ts1+i=si; t2*s1= 0; void main() char s100, t100, system(“CLS”); printf(“ n Please enter string s: ”), scanf(“ S”, s); fun(s, t); printf(“The result

5、 is: s n”, t), 三、程序设计题 3 编写函数 fun,其功能是:将两个两位数的正整数 a、 b合并成一个整数放在 c中。合并的方式是:将 a数的十位和个位数依次放在 c数的个位和百位上, b数的卜位和个位数依次放在 c数的十位和千位上。 例如,当 a=45, b=12时,调用该函数后 c=2514。 注意:部分源程序给出如下。 请勿改动主函数 main和其他函数中的任何内容。仅在函数 fun的花括号中填入你编写的若干语句。 试题程序: #include conio h #include stdio h void fun(int a, int b, long*c) main() i

6、nt a, b; long c; printf(“Input a, b: ”), scanf(“ d d”, a, b); fun(a, b, c); printf(“The result is: ld n”, c); 国家二级 C语言机试(操作题)模拟试卷 110答案与解析 一、程序填空题 1 【正确答案】 (1)sum=0 (2)tii (3)1 【试题解析】 填空 1:变量 sum用来储存 “和 ”结 果,所以将其初始化为 0。 填空 2:从题目中可以了解到,主对角线元素的行和列下标是相同的,所以应填入 tii。 填空 3:对于反向对角线元素的行和列的下标,它们的关系是相加和为 n1,所

7、以应填入 1。 二、程序修改题 2 【正确答案】 (1)int i, s1; (2)ti=ss1i1; 【试题解析】 (1)变量 s1没有定义。 (2)该循环实现将 s串中的字符逆序存入 t串中, ti对应 s串中的 ss1i一 1。 三、程序设计题 3 【正确答案】 void fun(int a, int b, long*c) ( *b 10获取 b的个位, a 10获取 a的十位, a 10获取 a的个位, b 10获取b的十位 * *c=a 10+(b 10)*10+(a 10)* 100+(b 10)*1000; 【试题解析】 本题的主要问题是如何取出 a和 b的个位数和十位数,取出后如何表示成 c中相应的位数。由于 a和 b都是只有两位的整数,所以分别对它们除 10可得到它们的十位数,分别用 10对它们求余可得到它们的个位数。得到后对应乘以 1000、 100、 10、 1,就可 得到 c的千位数、百位数、十位数和个位数。注意使用 c时要进行指针运算。

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

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

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