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

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

1、国家二级 C语言机试(操作题)模拟试卷 14及答案与解析 一、程序填空题 1 给定程序中,函数 fun的功能是:有 NxN矩阵,将矩阵的外围元素顺时针旋转。操作顺序是:首先将第一行元素的值存入临时数组 r,然后使第一列成为第一行,最后一行成为第一列,最后一列成为最后一行,临时数组中的元素成为最后一列。 例如,若 N=3,有下列矩阵: 1 2 3 4 5 6 7 8 9 计算结果为 7 4 1 8 5 2 9 6 3 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的 BLANKl C中。 不得增行或删行,也不得更改程序的结构 ! #incl

2、ude #define N 4 void fun(int(*t)N) int j, rN; for(j=0; j=0; _2_) tN1N1j=tjN一 1; for(j=N一 1 ; j=0 ; j一一 ) /*found*/ tjN一 1=r_3_; main() int tN=21, 12, 13, 24, 25, 16, 47, 38, 29, 11, 32, 54, 42, 21, 33, 10), i, j; printf “nThe original array: n“); for(i=0; i #include char * fun(char tt) int i; for(i=

3、0; tti; i+) /*found*/ if(a=tti)|(tti=Z) /*found*/ tti+=32; return(tt); main() char tt81; printf(“ nPlease enter a string: ”); gets(tt); printf (“ nThe result string iS: n s”, fun(tt); 三、程序设计题 3 请编写函数 fun,其功能是:计算并输出下列多项式的值:例如,在主函数中从键盘给 n输入 15,则输出为: s=2 718282。 注意:要求 n的值大于 1但不大于 100。 部分源程序在文件PROGl C中。

4、 请勿改动主函数 main和其他函数中的任何内容,仅在函数 fun的花括号中填入你编 写的若干语句。 #includedouble fun(int n)main() int n; double s; printf(“Input n: ”); scanf(“ d”, n); s=fun(n); printf(“s= f n”, s); NONO(); NONO() *请在此函数内打开文件,输入测试数据,调用 fun函数,输出数据,关闭文件。 * FILE *rf, *wf; int n, i; double s; rf=fopen(“in dat”,“r”); wf=fopen(“out dat

5、”, “w”); for(i=0; i 国家二级 C语言机试(操作题)模拟试卷 14答案与解析 一、程序填空题 1 【正确答案】 (1)0 (2)j- (3)j 【试题解析】 函数 fun操作顺序是:首先将第一行元素的值存入临时数组 r,然后使第一列成为第一行,最后一行成为第一列,最后一列成为最后一行,临时数组中的元素成为最后一列。 解题思路 第一空:由审题分析可知,此处是使第一列成为第一行,即把第一列元素移动到第一行,第一列元素是 tj0,第一行元素是 t0N-j-1,故第一空处应为 “0”。 第二空:第四个循环是最后一列成为最后一行,即将最后一列移动到最后一行, “for(i=N1; i=

6、0; _2_)”循环变量 i从 N1开始,到 0结束,共循环 N次,故 i每次减一,第三空处是 “i-”。 第三空:最后一个循环将临时数组中的元素成为最后一列,即 tjN一1=rj,故第三空处应为 “j”。 二、程序修改题 2 【正确答案】 (1)if(a=tti) (tti=z) (2)tti一 =32 ; 【试题解析】 本 题中函数的功能是将字符串中的小写字母改为对应的大写字母。首先判断字母是否为小写字母,如果是小写字母则进行转换。 解题思路 (1)第一个错误标识下的 if判断语句中的逻辑有误,应该是与 (&)的关系,不是或 ()的关系,所以 if判断语句改为 “if(a=tti)&(tti=z)”。 (2)第二个标识下小写字母转换为大写字母的转换算法有误,小写转换为大写应该是减去 32,而不是加上 32,所以 “tti+=32; ”改为 “tti一 =32; ”。 三、程序设计题 3 【正确答案】 double S=1; long t=1; int i; for(i=1; i=n; i+) t=t*i; *计算阶乘 * s+=1 t; *计算每项的值并累加至变量 s中 * return s; *返回多项式的值 * 【试题解析】 该程序功能是计算并输出多项式的值。该题的解题思路是,根据题干中给出的数列,首先推出每一项的表达式,然后再对多项式进行累加求和。

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

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

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