【计算机类职业资格】二级C语言机试-2及答案解析.doc
-
资源ID:1325774
资源大小:32.50KB
全文页数:6页
- 资源格式: DOC
下载积分:5000积分
快捷下载

账号登录下载
微信登录下载
下载资源需要5000积分(如需开发票,请勿充值!)
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
【计算机类职业资格】二级C语言机试-2及答案解析.doc
1、二级 C 语言机试-2 及答案解析(总分:100.00,做题时间:90 分钟)一、填空题(总题数:1,分数:33.00)1.str 是一个由数字和字母字符组成的字符串,由变量 num 传入字符串长度。请补充函数 fun(),该函数的功能是:把字符串 str 中的数字字符转换成数字并存放到整型数组 bb 中,函数返回数组 bb 的长度。例如:str=“Bcdl23e456hui890”,结果为:123456890。注意:部分源程序给出如下。请勿改动主函数 main 和其他函数中的任何内容,仅在函数 fun()的横线上填入所编写的若干表达式或语句。试题程序:#includestdio.h#defi
2、ne N 80int bbN;int fun(char s ,int bb ,int num)int i,n=0;for(i=0;inum;i+)if( 【1】 )bbn= 【2】 ;n+;return 【3】 ;main()char strN;int num=0,n,i;printf(“Enter a string:/n“);gets(str);while(strnum)num+;n=fun(str,bb,num);printf(“/nbb=“);for(i=0;in;i+)printf(“%d“,bbi);(分数:33.00)填空项 1:_二、改错题(总题数:1,分数:33.00)2.下列
3、给定程序中,函数 fun()的功能是:从 n 个学生的成绩中统计出高于平均分的学生人数,人数由函数值返回,平均分存放在形参 aver 所指的存储单元中。例如输入 8 名学生的成绩:85 65.5 69 95.5 87 55 62.5 75则高于平均分的学生人数为 4(平均分为 74.312500)。请改正程序中的错误,使它能得到正确结果。注意:不要改动 main 函数,不得增行或删行,也不得更改程序的结构。试题程序:#include stdioh#include conioh#define N 20int fun(float *s,int n,float *aver)/*found*/int
4、ave,t=0;int count=0,k,i;for(k=0;kn;k+)t+=sk;ave=t/n;for(i=0;in;i+)/*found*/if(siave)count+;/*found*/aver=ave;return count;main()float s30,aver;int m,i;clrscr();printf(“/nPlease enter m:“);scanf(“%d“,for(i=0,si!=/0;i+); /*求字符串的长度*/for(j=0;tj!=/0;j+);if(i=j) /*比较两个字符串的长度*/return s; /*函数返回较短的字符串,若两个字符串长度相等,则返回第 1 个字符串*/elsereturn t;)解析:解析 本题中,第 1 个 for 循环的作用是求出 s 的字符个数 i,第 2 个 for 循环的作用是求出 t的字符个数 j,因为任何循环都要控制条语句,所以在每个 for 循环条件后面必须要有个分号。本题也可用如下技巧:#includestringh /*一定要注意在最前面加#includestringh*/char *fun(char *s,char *t)if(strlen(S)=strten(t)return s;else return t;