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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

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

1、国家二级 C语言机试(操作题)模拟试卷 9及答案与解析 一、程序填空题 1 给定程序中,函数 fun的功能是:在 34的矩阵中找出在行上最大、在列上最小的那个元素,若没有符合条件的元素则输出相应信息。 例如,有下列矩阵: 1 2 13 4 7 8 10 6 3 5 9 7 程序执行结果为: find: a22=9 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序 存放在考生文件夹下的 BLANK1 C中。 不得增行或删行,也不得更改程序的结构 ! #include stdio h #define M 3 #define N 4 void fun(int(*a

2、)N) ( int i=0, j, find=0, rmax, c, k; while(i M)&(!find) rmax=ai0; c=0; for(j=1; j N; j+) if(rmax aij) *found* rmax=aij; c=_1_; ) find=1; k=0; while(k M & find) *found* if(k!=i & akc =rmax)find=_2_; k+; if(find)printf(“find: a d d= d n“, i, c, aic); *found* _3_; if(!find)printf(“not found! n“); main

3、() int xMN, i, j; printf(“Enter number for array: n“); for(i=0; i M; i+) for(j=0; j N; j+) scanf(“ d“, &xij); printf(“The ar ray: n“); for(i=0; i M; i+) for(j=0; j N; j+) printf(“ 3d“, xij); printf(“ n n“); fun(x); 二、程序修改题 2 已知一个数列从第 0项开始的前三项分别为 0, 0, 1,以后的各项都是其相邻的前三项之和。给定程序 MODI1 C中函数 fun的功能是:计算并输出

4、该数列前 n项的平方根之和。 n的值通过形参传入。 例如,当 n=10时,程序的输出结果应为: 23 197745。 请改正程序中的错误,使程序能输出正确的结果。 注意:不要改动 main函数,不得增行或删行,也不得更改程序的结构 ! #include stdio h #include math h *found* fun(int n) double sum, s0, s1, s2, s; int k; sum=1 0; if(n =2) sum=0 0; s0=0 0; s1=0 0; s2=1 0; for (k=4; k =n; k+) s=s0+s1+s2; sum+=sqrt(s);

5、 s0=s1; s1=s2; s2=s; *found* return sum main() int n; printf(“Input N=“); scanf(“ d“, &n); print f(“ f n“, fun(n); 三、程序设计题 3 假定输入的字符串中只包含字母和 *号。请编写函数 fun,它的功能是:将字符串尾部的 *号全部删除,前面和中间的 *号不删除。 例如,字符串中的内容为: *A*BC*DEF*G*料,删除后,字符串中的内容应当是: *A*BC*DEF*G。在编写函数时,不得使用 C语言提供的字符串函数。 注意:部分源程序在文件 PROG1 C文件中。 请勿改动主函数

6、 main和其他函数中的任何内容,仅在函数 fun的花括号中填入你编写的若干语句。 #include stdio h void fun(char *a) main() char s81; void NONO(); printf(“Enter a string: n“); gets(s); fun(s); printf(“The string after deleted: n“); puts(s); NONO(); void NONO() *本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 * FILE *in, *out; int i; char s81 ; in=fopen(“i

7、n dat“, “r“); out=fopen(“out dat“, “w“); for(i=0; i 10 ; i+) fscanf(in, “ s“, s); fun(s); fprintf(out, “ s n“, s); fclose(in); fclose(out); 国家二级 C语言机试(操作题)模拟试卷 9答案与解析 一、程序填空题 1 【正确答案】 (1)j (2)0 (3)i+ 【试题解析】 第一空: “rmax=aij; c=_1_; ”ramx存放行上最大值,根据下面一个循环体内 “if(k!=i&akc =rmax)”可知, c存放 rmax所在的列的位置,故第一空处应

8、为 “j”。 第二空: “if(k!-i&akc =rmax) find=_2_; ”如果列上的元素 akc比rmax还小,说明 rmax不是列上最小值,那么标识变量 find应该为假,下次就无须进入 while(k M&find)循环进行比较,所以第二空处应为 “0”。 第三空:第三空处是外循环变量 i自增,下一次进入循环的时候在下一行里面继续寻找行上最大、列上最小的元素,故第三空应为 “i+”。 二、程序修改题 2 【正确答案】 (1)double fun(int n) (2)return sum; 【试题解析】 (1)第一个错误标识下 fun函数的定义根据题干要返回前 n项的平方根之和,

9、函数具有返回值,所以 “fun(int n)”应改为 “double fun(int n)”,其中double为双精度型变量。 (2)第二个标识符下返回平方根之和,根据 C语言语法每一句 C语言后面应该以“; ”为结尾,所以 “return sum”改为 “return sum; ”。 三、程序设计题 3 【正确答案】 int i=0; char *p, *q; p=q=a; while(*P) p+; p-; while(*p=*) p-; while(q =p) ai=*q; i+; q+; ai= 0; 【试题解析】 (1)首先,使用一个指针 p指向串尾,然后对指向串尾的指针 p指向的字符进行判断,如果是 “*”,指针 p就跳过,这样来设置一个指针变量 q指向字符串的头位置。 (2)然后,将由字符串起始到最后一个字母之间的字符拷贝到字符串 a。 (3)最后,在新生成的字符串尾加 0。

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