全国2012年9月计算机等级考试二级c语言上机题库100套(第二部分50至100套)(二级c语言)

上传人:xins****2008 文档编号:104785410 上传时间:2019-10-10 格式:DOC 页数:78 大小:584.50KB
返回 下载 相关 举报
全国2012年9月计算机等级考试二级c语言上机题库100套(第二部分50至100套)(二级c语言)_第1页
第1页 / 共78页
全国2012年9月计算机等级考试二级c语言上机题库100套(第二部分50至100套)(二级c语言)_第2页
第2页 / 共78页
全国2012年9月计算机等级考试二级c语言上机题库100套(第二部分50至100套)(二级c语言)_第3页
第3页 / 共78页
全国2012年9月计算机等级考试二级c语言上机题库100套(第二部分50至100套)(二级c语言)_第4页
第4页 / 共78页
全国2012年9月计算机等级考试二级c语言上机题库100套(第二部分50至100套)(二级c语言)_第5页
第5页 / 共78页
点击查看更多>>
资源描述

《全国2012年9月计算机等级考试二级c语言上机题库100套(第二部分50至100套)(二级c语言)》由会员分享,可在线阅读,更多相关《全国2012年9月计算机等级考试二级c语言上机题库100套(第二部分50至100套)(二级c语言)(78页珍藏版)》请在金锄头文库上搜索。

1、第50套: 给定程序中,函数fun的功能是:有NN矩阵,以主对角线为对称线,对称元 素相加并将结果存放在左下三角元素中,右上三角元素置为0。例如,若N=3,有 下列矩阵: 1 2 3 4 5 6 7 8 9 计算结果为 1 0 0 6 5 0 10 14 9 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结 果。 注意:源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行,也不得更改程序的结构! 给定源程序: #include #define N 4 /*found*/ void fun(int (*t)_1_ ) /* 宏为世纪教育 */ int i, j; f

2、or(i=1; iN; i+) for(j=0; ji; j+) /*found*/ _2_ =tij+tji; /*found*/ _3_ =0; 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; iN; i+) for(j=0; jN; j+) printf(%2d ,tij); printf(n); fun(t); printf(nThe result is:n); for(i=0; iN; i+) for(j=0; jN

3、; j+) printf(%2d ,tij); printf(n); 解题思路: 第一处:形参t的定义,整数数组其宽度为N,所以应填:N。 第二处:对称元素相加,其结果仍存放在左下三角元素中,所以应填:tij。 第三处:右上三角元素置为0,所以应填:tji。 * 给定程序MODI1.C中函数fun的功能是:计算函数 F(x,y,z)=(x+y)/(x-y)+(z+y)/(z-y)的值。其中x和y的值不等,z和y的值不等。 例如,当x的值为9、y的值为11、z的值为15时,函数值为 -3.50。 请改正程序中的错误,使它能得出正确结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序

4、的结构。 给定源程序: #include #include #include /*found*/ #define FU(m,n) (m/n) float fun(float a,float b,float c) float value; value=FU(a+b,a-b)+FU(c+b,c-b); /*found*/ Return(Value); /* 宏为世纪教育 */ main() float x,y,z,sum; printf(Input x y z: ); scanf(%f%f%f,&x,&y,&z); printf(x=%f,y=%f,z=%fn,x,y,z); if (x=y|y

5、=z)printf(Data error!n);exit(0); sum=fun(x,y,z); printf(The result is : %5.2fn,sum); 解题思路: 第一处:define定义错误,所以应改为:#define FU(m,n) (m)/(n)。 第二处:return错写成Return,变量value错写成Value。 * 规定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:将字 符串中的前导*号全部删除,中间和尾部的*号不删除。 例如,字符串中的内容为:*A*BC*DEF*G*,删除后,字符串中的内 容应当是:A*BC*DEF*G*。在编写函数时,不得

6、使用C语言提供的字符串函数。 注意: 部分源程序在文件PROG1.C中。 请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入 你编写的若干语句。 给定源程序: #include void fun( char *a ) main() char s81; printf(Enter a string:n);gets(s); fun( s ); printf(The string after deleted:n);puts(s); NONO(); 解题思路: /* 宏为世纪教育 */ 本题是考察字符串的操作。 1. 利用循环扫描出字符串左边第1个字符不是*的字符。 2. 再利

7、用循环把以后的字符依次移动原字符串首地址开始存放。 3. 最后给字符串a加上结束符。 参考答案: void fun( char *a ) int j=0; char *p = a ; while(*p = *) p+ ; while(*p) aj+ = *p ; p+; aj=0 ; 第51套: 给定程序中,函数fun的功能是:计算出形参s所指字符串中包含的单词个数, 作为函数值返回。为便于统计,规定各单词之间用空格隔开。 例如,形参s所指的字符串为:This is a C language program.,函数 的返回值为6。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确

8、的结 果。 注意:源程序存放在考生文件夹下的BLANK1.C中。 /* 宏为世纪教育 */ 不得增行或删行,也不得更改程序的结构! 给定源程序: #include int fun(char *s) int n=0, flag=0; while(*s!=0) if(*s!= & flag=0) /*found*/ _1_ ; flag=1; /*found*/ if (*s= ) flag= _2_ ; /*found*/ _3_ ; return n; main() char str81; int n; printf(nEnter a line text:n); gets(str); n=f

9、un(str); printf(nThere are %d words in this text.nn,n); 解题思路: 本题是统计字符串中包含的单词个数。 第一处:单词个数用变量n来统计,当当前字母不是空格且flag状态标志为0时,则单词数就加1,将状态标志flag置为1,所以应填:n+。 第二处:当当前字符是空格时,flag状态标志置0,所以应填:0。 第三处:到字符串下一个位置,所以应填:s+。 * 给定程序MODI1.C中函数 fun 的功能是:从n(形参)个学生的成绩中统计出低 于平均分的学生人数,此人数由函数值返回,平均分存放在形参aver所指的存储单 元中。 例如,若输入 8

10、名学生的成绩:80.5 60 72 90.5 98 51.5 88 64 则低于平均分的学生人数为: 4 (平均分为:75.5625 )。 请改正程序中的错误,使它能统计出正确的结果。 注意:不要改动 main 函数,不得增行或删行,也不得更改程序的结构! 给定源程序: #include #define N 20 int fun ( float *s, int n, float *aver ) float ave, t = 0.0 ; int count = 0, k, i ; for ( k = 0 ; k n ; k+ ) /*found*/ t = sk ; ave = t / n ;

11、for ( i = 0 ; i n ; i+ ) /* 宏为世纪教育 */ if ( s i ave ) count+ ; /*found*/ *aver = Ave ; return count ; main() float s30, aver ; int m, i ; printf ( nPlease enter m: ) ; scanf (%d, &m ) ; printf ( nPlease enter %d mark :n , m ) ; for( i = 0 ; i m ; i+ ) scanf ( %f, s + i ) ; printf( nThe number of stu

12、dents : %d n , fun ( s, m, &aver ) ); printf( Ave = %fn, aver ) ; 解题思路: 第一处:应求累加和,而不赋值,所以应改为t+=sk;。 第二处:ave不需要取地址,直接赋给*aver就可以了。 * 请编写函数fun,其功能是求出数组的最大元素在数组中的下标并存放在k所 指的存储单元中。 例如, 输入如下整数: 876 675 896 101 301 401 980 431 451 777 则输出结果为: 6, 980 注意: 部分源程序在文件PROG1.C文件中。 请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入 你编写的若干语句。 给定源程序: #include int fun(int *s, int t, int *k) main( ) int a10=876,675,896,101,301,401,980,431,451,77

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号