全国计算机二级C语言上机试题21+2015年.doc

上传人:scccc 文档编号:13247052 上传时间:2021-12-19 格式:DOC 页数:2 大小:24KB
返回 下载 相关 举报
全国计算机二级C语言上机试题21+2015年.doc_第1页
第1页 / 共2页
全国计算机二级C语言上机试题21+2015年.doc_第2页
第2页 / 共2页
亲,该文档总共2页,全部预览完了,如果喜欢就下载吧!
资源描述

《全国计算机二级C语言上机试题21+2015年.doc》由会员分享,可在线阅读,更多相关《全国计算机二级C语言上机试题21+2015年.doc(2页珍藏版)》请在三一文库上搜索。

1、全国计算机二级 C语言上机试题21 2015年( 总分: 30.00 ,做题时间: 90 分钟 )1. 给定程序中,函数fun的功能是:计算形参x所指数组中N个数的平均值(规定所有数均为正数),将所指数组中大于平均值的数据移至数组的前部,小于等于平均值的数据移至x 所指数组的后部,平均值作为函数值返回,在主函数中输出平均值和移动后的数据。 例如,有 10个正数: 46 30 32 40 6 17 45 15 48 26,平均值为: 30.500000 移动后的输出为: 46 32 40 45 48 30 6 17 15 26 请在程序的下划线处填入 正确的内容并把下划线删除,使程序得出正确的结

2、果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构! 给定源程序: #include #include #define N 10 double fun(double *x) int i, j; double s, av, yN; s=0; for(i=0; i /*found*/av=_1_for(i=j=0; i if( xi>av ) /*found*/ y_2_=xi; xi=-1; for(i=0; i /*found*/ if( xi!= _3_) yj+=xi; for(i=0; i return av; main() inti; d

3、ouble xN; for(i=0; i4.0f ",xi); printf("/n"); printf("/nThe average is: %f/n",fun(x); printf("/nThe result :/n",fun(x); for(i=0; i5.0f ",xi); printf("/n"); (分数: 10.00 )正确答案:(第一处:计算N个数的平均值,所以应填:s/N。第二处:利用for循环语句,把数组x中大 于平均值的数,依次存放到数组y中,同时把数组x上的该数置为-1,

4、其中位置由变量j来控制,所以应填: j+。 第三处:再利用循环把不是 -1 的数,依次仍存放到数组 y 中,所以应填: -1 。 )解析:2. 给定程序M0DI1.C的功能是:读入一个英文文本行,将其中每个单词的第一个字母改成大写,然后输出 此文本行 (这里的“单词”是指由空格隔开的字符串 )。 例如,若输入: I am a student to take the examination., 则应输出: I Am A Student To Take The Examination. 。 请改正程序中的错误,使程序 能得出正确的结果。 注意:不要改动 main 函数,不得增行或删行,也不得更改程

5、序的结构! 给定源程include /*found*/序: #include #include /*found*/ upfst ( char p ) int k=0; for ( ; *p; p+ ) if ( k ) if ( *p = ' ' ) k = 0; else if ( *p !=' ' ) k = 1; *p = toupper( *p ); main( ) char chrstr81; printf("/nPlease enter an Englishtext line: " ); gets( chrstr ); print

6、f( "/n/nBefore changing:/n %s", chrstr ); upfst( chrstr );printf( "/nAfter changing:/n %s/n", chrstr ); (分数: 10.00 )正确答案: (第一处: 包含头文件的标识错误, 在 include 前漏写了 #。第二处: 由于传入的参数是字符串, 所以应为 upfst(char *p)。 )解析:3. 程序定义了 NXN的二维数组,并在主函数中赋值。请编写函数fun,函数的功能是:求出数组周边元素的平均值并作为函数值返给主函数中的 s。 例如: a 数组

7、中的值为 |0 1 2 7 9| |1 9 7 4 5| a = |2 3 83 1| |4 5 6 8 2| |5 9 1 4 1|则返回主程序后 s 的值应为 : 3.375 。 注意: 部分源程序存在文件 PROG1.C文件中。请勿改动主函数 main 和其它函数中的任何内容, 仅在函数 fun 的花括号中填入你编写的若干语句。 给定源程序: #include #include #define N 5 double fun ( int wN ) main ( ) intaNN=0,1,2,7,9,1,9,7,4,5,2,3,8,3,1,4,5,6,8,2,5,9,1,4,1;int i,

8、 j; double s ; printf("*The array */n"); for ( i =0; i for ( j =0; j printf( "M", aij ); printf("/n"); s = fun ( a ); printf ("* THE RESULT */n"); printf( "The sum is : %lf/n",s ); NONO( ); (分数: 10.00 ) 正确答案: (double fun ( int wN ) int i, j, n=0; double sum=0; for ( i =0; i sum+=w0i+wN-1i; n+=2; for ( i =1; i sum +=wi0+wiN-1; n+=2; return sum/n; ) 解析:解题思路: 本题是统计二维数组周边元素值的平均值,但要注意的是不要重复计算四个角上的元素 值。

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

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1