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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

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

1、国家二级 C语言机试(操作题)模拟试卷 490及答案与解析 一、程序填空题 1 函数 fun的功能是:在有 11个元素的结构体数组 std中,查找有不及格科目的学生,找到后输出学生的学号;函数的返回值是有不及格科目的学生人数。例如,主函数中给出了 4名学生的数据,则程序运行的结果为: 学号: N1002 学号: N1006 共有 2位学生有不及格科目 请在程序的下划线处填入正确的内容,并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的 BLANK1 C中。 不得增行或删 行,也不得更改程序的结构 ! #include typedelf struct char num8;

2、double score2; *found*/ 【 1】 ; int fun(STU std, int n) int i, k=0; for(i=0; i int fun(int n, int a, int *k) int m=0, i, t; t=n; *found* for(i=0; i void NONO(); void fun(int *a, int *b, int *c, int *d) main() int a, b, c, d; printf(“请输入 4个整数: “); scanf(“ d d d d“, a, b, c, d); printf(“原始顺 序: d, d, d,

3、 d n“, a, b, c, d); fun( a, b, c, d); printf(“处理 后: d, d, d, d n“, a, b, c, d); NONO(); void NONO() * 本函数用于打开文件,输入数据, 调用函数,输出数据,关闭文件。 * FTLE *fp, *wf; int i, a, b, c, d; fp=fopen(“in dat“, “r“); wf=fopen(“out dat“, “w“); for(i=0; i5; i+) fscanf(fp, “ d d d d“, a, b, c, d); fun( a, b, c, d); fprintf(

4、wf, “a= d, d= d n“, a, d); fclose(fp); fclose(wf); 国家二级 C语言机试(操作题)模拟试卷 490答案与解析 一、程序填空题 1 【正确答案】 (1)STU (2) (3)k 【试题解析】 第一空: “(1) ; ”这一空出现在定义结构体时,这里使用了typedef就是很明显地要声明结构体类型,而这里则是要填写结构体类型名。这里就要知道 typedef的作用了, typedef是用来命名已有类型的,相当于给已经知道的类型 (如 intfloat)一个新的类型名,而这里命名的是一个结构体,这不同于结构体的类型定义,大括号后面填写的不是变量名表列,

5、而是结构体类型名,相当于给一个名称或者一种新的类型。而根据后面程序已给出的部分,我们能清楚的看到定义的结构体类型名是 STU,所以这一空应该填的是 “STU”。 第二空: “if(stdi score060(2) stdi score160); ”这一空出现在 fun函数中的 if条件语句中,根据 if后面的执行语句我们可以看到执行的人数的统计,所以这里应该就是在判断学生学科分数是否及格的条件语句。对于一开始的结构体定义我们能够发现成员 score是长度为 2的数组,所以每个学生应该是有两门学科的分数需要来判定和统计的,而这两门学科中任意一门分数不够的话都定义为不及格,然后统计进入人数中,这里

6、所填空的两边是两门学科的分数低于 60分,既然前面说了是任意一门低于 60即进入统计,那这里就应该是 “或 ”符号才符合要求,所以这一空应该填 “”。 第三空: “return(3); ”这一空出现在 fun函数中,这里要填写的是 fun函数执行后的返回值。根据题目的要求函数是要查找不及格的科目的学生,找到学生学号,然后返回学生的人数,这一空前面已经执行了查找,统计 人数和学号的输出,所以这里应该返回的就是不及格学生的人数。而根据前面的定义,人数统计的变量名应该是 k,所以这一空应该要填写的是 “k”。 二、程序修改题 2 【正确答案】 (1)for(i=0; in; i+)改为 for(i=

7、1; in; i+) (2)k=m;改为 *k=m; (3)if(t=0)改为 if(t=0) 【试题解析】 (1)第一个错误在 fun()函数的 for循环中,这里的循环的就是输入数字 n的因式,很明显的一个问题就是循环的起始值有问题,这从 i=0开始就违反了最基本的四则运 算, 0不可能是其他整数的因式,也没有意义。所以这里应该将“i=0”改为 “i=1”。 (2)第二个错误在 fun()函数中数字经过 for循环过后,这里 “k=m”,是为了得到“k”的值,也就是因子的个数。但是要注意的细节是在 fun()函数中的参数是“*k”,也就是说 k只是一个指针变量,而不是我们所需要的因子个数的

8、变量,所以这里我们应该使用的是 “*k”,即将 “k=m”改为 “*k=m”。 (3)第三个错误在 fun函数第二个 if条件语句中,这里 “f(t=0)return 1; ”的 t是数字减掉因子和的值, 也就是说只要是 t等于 0就代表输入的数字是一个完数,这里原本的意图就是在得到因子的和之后判断数字是否为完数。但是又有一个细节没有注意到的就是在 if条件语句中,等于号应该是 “=”,而不是普通的 “=”,所以这里应该将 “if(t=0)”改为 “if(t=0”。 ) 三、程序设计题 3 【正确答案】 void fun (int*a, int*b,int*c, int *d) int t;

9、if(*a*b)t=*a; *a=*b;*b=t; if(*a*c)t=*a; *a=*c;*c=t; if(*a*d)t=*a; *a=*d;*d=t; if(*b*c)t=*b; *b=*c;*c=t; if(*b*d)t=*b; *b=*d;*d=t; if(*c*d)t=*c; *c=*d;*d=t; 【试题解析】 首先在主函数 main中我们需要的就是四个数字,这四个数字需要手动输入,件程序代码第 1315行,四个数字输入完城后就可以进入 fun函数进行数据处理了。进入到 fun函数中,只要从 a到 d进行比较,按照一开始的规则即可,如果 a大于 b,不变,比较 a与 c,若 a小 b, a与 b交换位置,交换过后 a就大于 b了,这样就进行 a与 c的比较; a与 c的比较同理,这样的循环比较,就能发现,每比较一次,较大的数字就能交换到 a的位置,较小的数字就离 a越来越远,也就是到了 d的位置,这样就完成了题目所给出的要求了,最大的数字放在 a中,最小的数字放在 d中。当新的排序排好后,就可以返回主函数进行输出了。

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