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

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

1、国家二级 C语言机试(操作题)模拟试卷 43及答案与解析 一、程序填空题 1 给定程序中,函数 fun的功能是:有 NxN矩阵,以主对角线为对称线,对称元素相加并将结果存放在左下三角元素中,右上三角元素置为 0。例如,若 N=3,有下列矩阵: 1 2 3 4 5 6 7 8 9 计算结果为 1 0 0 6 5 0 10 14 9 请在程序的下:划线处填入正确的内容并把下划线删除,使程序得 出正确的结果。 注意:源程序存放在考生文件夹下的 BLANKl C中。 不得增行或删行,也不得更改程序的结构 ! #include #define N 4 /*found*/ void fun(int(*t)

2、 _1_ ) int i, j; for(i=1; i VOid fun(char * s, int num5) int k, i=5; for (k=0; k=0) numi+; main() char s181; int huml5, i; printf(“ nPlease enter a string: ”); gets(s1); fun(s1, numl); for(i=0; i void fun(int a, int b, long *c) void NONO() *本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 * FILE *rf, *wf; int i , a,b

3、; long C; rf=fopen(“in dat”, “r”); wf=fopen(“out dat”, “W”); for(i=0; i10; i+) fscanf(rf, “ d, d”, a, b); fun(a, b, c); fprint: f(wf, “a= d, b= d, c= ld n”, a, b, c); fcloSe(rf); fclose(wf); main() int a, b; long c; void NONO(); printf(“Input a, b: ”); Scanf(“ d d”, (2)switch(*s) 【试题解析】 本题中函数的功能是统计字

4、符串中各元音字母 (即 A、 E、 I、 O、 U)的个数。其中,本题在 while循环中采用 switch-case条件判断字符串中的每一个字符并进行统计。 解题思路 (1)第一个标识下的 for循环过程是将 num数组中的变量初始值设置为 0,用来统计每一个元音字母出现的个数, for循环中的循环条件表达式中的变量是 k,所以第二个标识下 “numj=0; ”改为 “numk=0; ”。 (2)第二个标识下的 switch-case条件选择的功能应该是对 s指针指向的字符串中的每一个字符进行判断,不应该是 s的数组名,所以第三个标识下 “switch(s)”改为“switch(*s)”。 三、程序设计题 3 【正确答案】 *c=(a 10)*1000+(b 10)*100+(a 10)*10+(b 10); 【试题解析】 (1)分解两位数的正整数 n的个位和十位数,可用 n 10和 n 10实现。 (2)设 x0、 x1、 x2、 x3为一位数,则 x0、 x110、 x2100、 x31000,可以分别使 x0、 x1、 x2、 x3构成个、十、百、千带权数,而 x0+x110+x2100+x31000构成四位数。本题最多只考虑四位数。

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

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

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