ImageVerifierCode 换一换
格式:DOC , 页数:6 ,大小:31KB ,
资源ID:498165      下载积分:2000 积分
快捷下载
登录下载
邮箱/手机:
温馨提示:
如需开发票,请勿充值!快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝扫码支付 微信扫码支付   
注意:如需开发票,请勿充值!
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【http://www.mydoc123.com/d-498165.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文([计算机类试卷]国家二级C语言机试(操作题)模拟试卷237及答案与解析.doc)为本站会员(bonesoil321)主动上传,麦多课文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知麦多课文库(发送邮件至master@mydoc123.com或直接QQ联系客服),我们立即给予删除!

[计算机类试卷]国家二级C语言机试(操作题)模拟试卷237及答案与解析.doc

1、国家二级 C语言机试(操作题)模拟试卷 237及答案与解析 一、程序填空题 1 给定程序中,函数 fun的作用是:统计整型变量 m中各数字出现的次数,并存放到数组 a中,其中: a0存放 0出现的次数, a1存放 1出现的次数, a E9存放 9出现的次数。 例如,若 m为 14579233,则输出结果应为: 0, 1, 1, 2, 1, 1, 0, 1, 0, 1, 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的 BLANK1 C中。不得增行或删行,也 不得更改程序的结构 ! 试题程序: 1 #include stdio h 2 vo

2、id fun(int m, int a10) 3 int i; 4 for(i=0 ; i 10; i+) 5 *found* 6 【 1】 =0; 7 while(m0) 8 9 *found* 10 i=【 2】 ; 11 ai+; 12 *found* 13 m=【 3】 ; 14 15 16 main() 17 int m, a10, i; 18 printf(请输入一个整数: ); 19 scanf( d, m); 20 fun(m, a); 21 for(i=0 ; i 10; i+) 22 printf( d, , ai); 23 printf( n); 24 二、程序修改题 2

3、 下列给定程序是建立一个带头结点的单向链表,并用随机函数为各结点赋值。函数 fun的功能是将单向链表结点 (不包括头结点 )数据域为偶数的值累加起来,并且作为函数值返回。 请改正函数 fun中的错误,使它能得出正确的结果。 注意:部分源程序在文件 MODI1 C中,不要改动 main函数,不得增行或删行,也不得更改程序的结构 ! 试题程序: 1 #include stdio h 2 #include conio h 3 #include stdlib h 4 typedef struct aa 5 int data; 6 struct aa*next; 7 NODE; 8 int fun(NO

4、DE * h) 9 int sum=0; 10 NODE*p; 11 p=h-next; 12 *found* 13 while(p-next) 14 if(p-data 2=0) 15 sum+=p=data; 16 *found* 17 p=h-next; 18 19 return sum; 20 21 NODE* creatlink(int n) 22 23 NODE*h, *p, *s; 24 int i; 25 h=p=(NODE*)malloc(sizeof (NODE); 26 for(i=: 1; idata=rand() 16; 30 s-next=p-next; 31 p-

5、next=s; 32 p=p-next; 33 34 p-next=NULL; 35 return h; 36 37 outlink(NODE*h) 38 NODE*p; 39 p=h-next; 40 printf( n n The LIST: n n HEADH ); 41 while(p) 42 printf(- d, p-data); 43 p=p-next ;) 44 printff( n); 45 46 void main() 47 NODE * head; int sum; 48 system (CLS); 49 head=creatlink(10); 50 outlink(he

6、ad); 51 sum=fun(head); 52 printf( nSUM= d, sum); 53 三、程序设计题 3 请编一个函数 float fun(double h),该函数的功能是:使变量 h中的值保留两位小数,并对第三位进行四舍五入 (规定 h中的值为正数 )。 例如,若 h值为 1234 567,则函数返回 1234 570000;若 h值为 1234 564,则函数返回 1234 560000。 注意:部分源程序在文件 PROG1 C中。 请勿改动主函数 main和其他函数中的任何内容,仅在函数 fun的花括号中填入你编写的若干语句。 试题程序: 1 #include std

7、io h 2 #include conio h 3 #include stdlib h 4 float fun(float h) 5 6 7 8 void main() 9 10 FILE*Wf; 11 float a; 12 system(CLS); 13 printf(Enter a: ); 14 scanf( f, a); 15 printf(The origina1 data is: ; 16 printf( f n n, a); 17 printf(The result: f n, fun(a); 18 * 19 wf=fopen(out dat, w); 20 fprintf(wf

8、, f, fun(8 32533); 21 fclose(wf); 22 * 23 国家二级 C语言机试(操作题)模拟试卷 237答案与解析 一、程序填空题 1 【正确答案】 (1)ai (2)m 10 (3)m 10 【试题解析】 数组 a各元素初始化为 0,用求余和整除相结合的方法得到数字的每一位数字,并用它做为数组 a的下标,相应元素加 1。 填空 1:数组 a的 10个元素赋值为 0。 填空 2: m 10可得到数 m的最后一位数字。 填空 3: m 10可使数字截短,即去掉最后一位。 二、程序修改题 2 【正确答案】 (1)while(p!=NULL) (2)p=p-next; 【试

9、题解析】 (1)判断当前指针 p指向的结点是否存在,若存在则对该结点数据域进行判断操作。 (2)判断结束后指针指向下一个结点。 三、程序设计题 3 【正确答案】 1 float fun(float n) 2 3 int tmp = (int) (h* 1000+5) 10 ; *单精度数 h乘以 1000后再加 5,相当于对h中的第三位小数进行四舍五入,除以 10后将其赋给一个长整型数时就把第三位小数后的数全部截去 * 4 return(float)tmp 100 0; *除以 100,保留 2位小数 * 5 【试题解析】 注意:本题要求对 h的值真正进行四舍五人运算,而不是为了输出,即不能用 printf( 7 2f, h)来直接得到结果。四舍五入算法:如果要求精确到小数点后面的第 n位,则需要对第 n+1位进行运算。方法是将该小数乘以 10的 n+1次方后加 5, 然后除以 10并强制转换变量类型为整型,再将该数除以 10的n次方,同时强制转换类型为浮点型。 代码实现如下: int t; *定义整型变量 t* t=(int)(h*10n+1+5) 10; *对 h进行操作,得到值浮点型, t取值时取整数部分。 10n+1为要扩大的倍数 * h=(float)t 10n; *将 t缩小 10n倍,并转换成浮点型 *

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1