二级C语言笔试操作题-8.doc

上传人:scccc 文档编号:14012136 上传时间:2022-01-30 格式:DOC 页数:3 大小:33KB
返回 下载 相关 举报
二级C语言笔试操作题-8.doc_第1页
第1页 / 共3页
二级C语言笔试操作题-8.doc_第2页
第2页 / 共3页
二级C语言笔试操作题-8.doc_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

《二级C语言笔试操作题-8.doc》由会员分享,可在线阅读,更多相关《二级C语言笔试操作题-8.doc(3页珍藏版)》请在三一文库上搜索。

1、二级 C 语言笔试操作题 -8( 总分: 100.00 ,做题时间: 90 分钟 )一、程序填空题 ( 总题数: 1,分数: 30.00)1. 下列给定程序中,函数fun的功能是:把形参a所指数组中的奇数按原顺序依次存放到a0、a1、a2.中,把偶数从数组中删除,奇数个数通过函数值返回。例如,若a所指数组中的数据最初排列为:9, 1,4, 2,3, 6,5, 8,7,删除偶数后a所指数组中的数据为: 9, 1, 3, 5, 7,返回值为 5。请在下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。 注意:部分源程序给出如下。不得增行或删行,也不得更改程序的结构 !试题程序:#inclu

2、de #defineN 9int fun(int a,int n)int i,j;j=0;for(i=0;i n;i+)/*found*/if(ai%2=)*found*aj=ai;*found*return main()int bN=9,1,4,2,3,6,5,8,7,i,n; printf(/nThe original data:/n);for(i=0;i N;i+)printf(%4d,bi);printf(/n);n=fun(b,N);printf(/nThe number of odd:%d/n,n); printf(/nThe odd number:/n);for(i=0;i n;

3、i+)printf(%4d,bi);printf(/n);(分数: 30.00 )填空项 1: (正确答案: 1 j+ j )解析: 解析 本题考查: if 语句条件表达式;自增 /自减运算符;函数返回值。填空 1:根据题目要求,需要进行奇偶数的判定,我们可以通过 if 条件语句来判断数组元素是否是奇数,如果元素不能被 2 整除,则为奇数,所以填入 if (ai%2=1)。填空 2:将为奇数的元素重新存放到数组的前面,同时下标增1。填空 3:函数返回值需要返回数组中奇数的个数,因此返回变量j 。二、程序改错题 ( 总题数: 1,分数: 30.00)2. 下列给定程序中,函数 fun 的功能是:

4、求两个非零正整数的最大公约数,并作为函数值返回。例如,若numl和num2分别为49和21,则输出的最大公约数为7;若numl和num2分别为27和81,则输出的最大公约数为 27。请改正程序中的错误,使它能得出正确结果。注意:不要改动 main 函数,不得增行或删行,也不得更改程序的结构 !试题程序:#include intfun(int a,int b) int r,t;if(a n)得余数 r ,再用余数 r 去除原来的除数,得到新的余数,重复此过程直到余数为 0 时停止,此时的除数就是 m 和 n 的最大公约数。程序首先判断参数a和b的大小,如果a b则进行交换,这里是一个数学逻辑错误

5、,应先将a的值赋给中间变量t,再将b的值赋给a,最后将t的值赋给b。当余数r为0时,除数b即为所求的最大公约数,所 以函数应返回 b。三、程序设计题 ( 总题数: 1,分数: 40.00)3. 规定输入的字符串中只包含字母和 *号。编写函数fun,其功能是:删除字符串中所有的*号。编写函数时,不得使用C语言提供的字符串函数。例如,字符串中的内容为“ *A*BC*DEF*G* ”,删除后,字符串中的内容应当是“ ABCDEF”G。注意:部分源程序给出如下。请勿改动主函数 main 和其他函数中的任何内容,仅在函数 fun 的花括号中填入你编写的若干语句 试题程序:#include void fu

6、n(char*a) voidmain()char s81;printf(Enter a string:/n);gets(s);/n);fun(s);printf(The string after delete puts(s);分数: 40.00 ) 正确答案: (void fun(char*a)int i,j=0;for(i=0;ai!=/0;i+)if(ai!=*)aj+=ai; /* 若不是要删除的字符 * 则留下 */ aj=/0;)=*)来j 要从 0解析: 解析 用循环操作从字符串的开始往后逐个进行比较,若不是要删除的字符 (用 if(ai! 控制)则保留。变量 i 和 j 用来表示原字符串的下标和删除 *号后新字符串的下标。注意下标变量 开始,最后还要加上字符串结束标识 /0 。

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

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


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