


下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、二级C语言机试-268(总分:100.00,做题时间:90分钟)、程序填空题(总题数:1,分数:30.00)1. 下列给定程序中,函数fun的功能是:把形参a所指数组中的偶数按原顺序依次存放到a0、a1、a2中,把奇数从数组中删除,偶数的个数通过函数值返回。例如,若a所指数组中的数据最初排列为:9、1、4、2、3、6、5、8、7,删除奇数后a所指数组中的数据为:4、2、6、8,返回值为4。请在下划线处填入正确的内容并将下划线删除,使程序得岀正确的结果。注意:部分源程序给岀如下。不得增行或删行,也不得更改程序的结构!试题程序:#include < scdio.h >#define N
2、 9int fun(int a,int n) int i,j;j=0;for(i=0;i < n;i+)'k'k'k'k'k'kif( (1) =0)'k'k'k'k'k'k=ai;j+;'k'k'k'k'k'kreturn (3);main() int bN=(9,1,4,2,3,6,5,8,7),i,n;printf('7nThe original data:/n"); for(i=0;i < N;i+) printf
3、(%4d",bi);printf("/n");n=fun(b,N);printf("/nThe number of even:%d/n",n);printf("/nThe even:/n");for(i=0;i < n;i+) printf("%4d",bi); printf("/n");(分数:30.00 )正确答案:(ai%2 (2)ai (3)i)解析:解析本题关键字有:if语句条件表达式;数组变量赋值;函数返回值。微分析填空1: if语句用来判断数组元素是否为偶数,模2为
4、0的数为偶数,所以填入 ai%2填空2:保存为偶数的数组元素。填空3:通过return语句将偶数个数作为函数值返回。二、程序改错题(总题数:1,分数:30.00)2. 下列给定程序中,函数fun的功能是:按以下递归公式求函数的值。例如,当给n输入5时,函数值为18;当给n输人3时,函数值为14 请改正程序中的错误,使它能得岀正确的结果。注意:不要改动 main函数,不得增行或删行,也不得更改程序的结构 试题程序:#include < stdio.h >'k'k'k'k'k'kfun(n) int c;'k'k'
5、k'k'k'kif(n=1) c=10; eIse c=fun(n_1)+2; return(c);main() int n;printf("Encer n;");scanf("%d",&n);printf("The resu lt: %d/n/n",fun(n);(分数:30.00 ) 正确答案:(int fun(int n) (2)if(n=1)解析:解析 本题关键字有:函数定义;if语句条件表达式中=与=的区别。微分析(1) 有参函数要定义形参变量类型,由于主函数中传递的参数为int型,所以形参定
6、义为inc型(2) n=1是赋值表达式,不能作为判断条件,=用于比较判断。三、 程序设计题( 总题数: 1,分数: 40.00)3. 规定输入的字符串中只包含字母和 *号。请编写函数fun,其功能是:使字符串中尾部的*号不多于n个, 若多于n个,则删除多余的*号;若少于或等于n个,则不做任何操作,字符串中间和前面的*号不删除。例如,字符串中的内容为“ *a*bc*DEF*G* ",若 n的值为4,删除后,字符串中的内容应为“*A*BC*DEF*G* ”;若 n 的值为 7,则字符串中的内容仍为“ *A*BE*DEF*G* ”。 n 的值在 主函数中输入。编写函数时,不得使用C语言提供
7、的字符串函数。注意:部分源程序给出如下。请勿改动主函数 main 和其他函数中的任何内容,仅在函数 fun 的花括号中填入你编写的若干语句。试题程序:#include < stdio.h >void fun(char*a , int n)main()(char s81;int n;printf("Enfer a spring:/n");gets(s);printf("Encer n:");scanf("%d",&n);fun(s,n);printf("The string after deleted:/n
8、");puts(s);分数: 40.00 ) 正确答案: (void fun(char*a,int n)int i=0,k=0;char*p,*t;p=t=a;/* 将指针移动到字符串末尾 */while(*t)t+;t-;/* 从后往前如果是。 '*' 则使 k+, 找到最后一个 *所在的位置,并记录 '*' 的个数*/while(*t='*')/* 指针 t 指向前一个,同时标量 k 增加 */(k+ ; t-;)/* 如果最后 *的个数大于允许的个数 */if(k > n)/* 循环次数不大于前面的字符与最大允许 *的个数之和 */(while(*p&&p < t+n+1)/* 把字符保存到数组 a 中 */(ai=*p;i+;
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 湖南省天壹名校联盟2025届高三5月适应性考试(生物)
- 停车场合同范例
- 医疗供应链中区块链的追溯应用研究
- 办公室医疗融合发展儿童健康成长与科学补钙研究
- led灯工程合同范例
- 高中物理选修3-5重要知识点总结模版
- 医疗团队协作中的沟通与信任建设
- 医疗行业数据透明度与质量控制的平衡点
- 区块链技术助力构建高效的物流供应链体系
- 医疗数据智能化处理技术及其实践
- 2022年注册规划师实务试题及答案
- 心电监护操作评分标准
- DB62∕T 3176-2019 建筑节能与结构一体化墙体保温系统应用技术规程
- 优秀病例演讲比赛PPT
- 技术报告审签表
- GB∕T 25684.5-2021 土方机械 安全 第5部分:液压挖掘机的要求
- 电气炉焊接工艺的自动化控制线设计
- 剪式汽车举升机设计说明
- 中国基层胸痛中心认证标准(第三版)
- 鸡的解剖步骤及病
- 常见食物的性味归经附表
评论
0/150
提交评论