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

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

1、国家二级 C语言机试(操作题)模拟试卷 549及答案与解析 一、程序填空题 1 给定程序中,函数 fun的功能是: 利用指针数组对形参 ss所指字符串数组中的字符串按由长到短的顺序排序,并输出排序结果。 ss所指字符串数组中共有 N个字符串,且串长小于 M。 请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。 注意:部分源程序在文件 BLANK1 C中。 不得增行或删行,也不得更改程序的结构 ! 试题程序: #inClude stdlo h #include string h #define N 5 #define M 8 void fun(char(*ss)M) char

2、*psN, *tp; int i, j, k; for(i=0 ; i N; i+) psi=ssi; for(i=0 ; i N一 1; i+) *found* k=【 1】 ; for(j=i+l; j N; j+) *found* if(strlen(psk) strlen (【 2】 )k=j; *found* tp: psi; psi=psk; psk=【 3】 ; printf(“ nThe string after sorting by length: n n“); for(i=0; i N; i+)puts(psi); main() char chNM=“red“, “gree

3、n“, “blue“, “yellow“, “black“); int i; printf(“ nThe original string n n“); for(i=0; i N; i+) puts(chi); printf(“ n“); fun(ch); 二、程序修改题 2 已知一个数列从 0项开始的前 3项: 0、 0、 1,以后的各项都是其相邻的前 3项之和。下列给定的程序中,函数 fun的功能是:计算并输出该数列前 n项的平方根之和 SHIn。 13的值通过形参传入。 例如,当 n=10时,程序的输出结果应为 23 197745。 请改正程序中的错误 ,使它能得出正确的结果。 注意:部分

4、源程序在文件 MODI1 C中,不要改动 main函数,不得增行或删行,也不得更改程序的结构 ! 试题程序: #include stdlib h #include conio h #include stdio h #include math h *found* fun(int n) double sum , s0 , s1 , s2 , s; int k; sum=1 0; if(n =2)sum=0 0; S0=0 0; s1=0 0; s2=1 0; for(k=4; k =n; k+) s=s0+s1+s2; sum+=sqrt(s); s0=s1; s1=s2; s2=s; *foun

5、d* return sum void main() int n ; system(“CLS“); printf(“Input N=“); scanf(“ d“, &n); printf(“ f n“, fun(n); 三、程序设计题 3 请编写函数 fun,它的功能是计算下列级数和,和值由函数值返回。例如,当 n=10, x=0 3时,函数值为 1 349859。 注意:部分源程序在文件 PROGl C中。 请勿改动主函数 main和其他函数中的任何内容,仅在函数 fun的花括号中填入你编写的若干语句。 试题程序: #include conio h #include stdio h #incl

6、ucte math h #inc2ude stdlib h double fun(double x, int n)void main() FILE*wf; system(“CLS“); printf(“ f“,fun(0 3, 10); * wf=fopen(“out dat“, “w“); fprintf(wf, “ f“, fun(0 3, 10); fclose(wf); * 国家二级 C语言机试(操作题)模拟试卷 549答案与解析 一、程序填空题 1 【正确答案】 (1)i (2)psj (3)tp 【试题解析】 本题是按字符串的长短进行排序。 填空 1:外循环每循环一次, k应保存当

7、前的 i值,所以应填 i。 填空 2:使用内循环对 i+1后面的字符串长度进行比较,所以应填 psj。 填空 3:此处的作用是交换两个变量的值,所以应填 tp。 二、程序修改题 2 【正确答案】 (1)double fun(int n) (2)return sum; 【试题解析】 (1)根据函数的返回值可知函数 fun应定义为 double类型。 (2)语法错误,缺分号。 三、程序设计题 3 【正确答案】 double fun(double x, int n) int i; double s=1 0, s1=1 0, for(i=1; i =n; i+) sl=s1*i; *各项中的阶乘 * s=s+pow(x, i) s1, *按公式求出 * return s; 【试题解析】 程序定义了变量 s1和 s, s1表示每项的分母 (即各项的阶乘 ), s存放累加和。循环语句控制累加的次数,在循环体中进行阶乘和累加操作,累加的结果存入 s中。此处使用了求乘方函数 pow(x, i),其含义是求 x的 i次方的值。

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

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

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