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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

【计算机类职业资格】二级C语言-171 (1)及答案解析.doc

1、二级 C 语言-171 (1)及答案解析(总分:100.00,做题时间:90 分钟)一、程序填空题(总题数:1,分数:30.00)1.请补充函数 proc(),该函数的功能是:求 200(不包括 200)以内能被 2 或 5 整除,但不能同时被 2 和 5整除的自然数。结果保存在数组 bb 中,函数 proc()返回数组 bb 中的元素。 注意:部分源程序给出如下。 请勿改动 main()函数和其他函数中的任何内容,仅在函数 proc()的横线上填入所编写的若干表达式或语句。 试题程序: #includestdlib.h #includestdio.h #define M 200 int pr

2、oc(int bb) int i, j; for( 1; i200; i+) if(i%2!=0 3; void main() int i, n; int bbM; system(“CLS“); n=proc(bb); for(i=0; in; i+) if(i%10=0) printf(“/n“); printf(“%4d“, bbi); (分数:30.00)二、程序改错题(总题数:1,分数:40.00)2.下列给定程序中,函数 proc()的功能是找出 100m(m 不大于 1000)之间百位数字加十位数字等于个位数字的所有整数,把这些整数放在 s 所指的数组中,个数作为函数值返回。 请修

3、改程序中的错误,使它能得到正确结果。 注意:不要改动 main()函数,不得增行或删行,也不得更改程序的结构。 试题程序: #includestdio.h #define M 1000 int proc(int*s, int n) int i, j, k, a, b, c; j=0; for(i=100; in; i+) /*found* k=n; a=k%10; k/=10; b=k%10; c=k/10; if(a=b+c) /*found* sj=i; return j; void main() int aM, m, num=0, i; do printf(“/nEnter m(=100

4、0):“); scanf(“%d“, while(m1000); num=proc(a, m); printf(“/n/nThe result: /n“); for(i=0; inum; i+) printf(“%5d“, ai); printf(“/n/n“); (分数:40.00)_三、程序设计题(总题数:1,分数:30.00)3.请编写一个函数 proc(),它的功能是:比较 2 个字符串的长度(不得调用 C 语言中求字符串长度的函数),函数返回较长的字符串。若 2 个字符串长度相等,则返回第 1 个字符串。 例如,若输入 jiangxiEnter beijingEnter 则函数返回

5、jiangxi。 注意:部分源程序给出如下。 请勿改动 main()函数和其他函数中的任何内容,仅在函数 proc()的花括号中填入所编写的若干语句。 试题程序: #includestdio.h char*proc(char*s, char*t) void main() char a20, b10, *p, *q; printf(“Input 1th string:“); gets(a); printf(“Input 2th string:“); gets(b); printf(“%s“, proc(a, b); (分数:30.00)_二级 C 语言-171 (1)答案解析(总分:100.00

6、做题时间:90 分钟)一、程序填空题(总题数:1,分数:30.00)1.请补充函数 proc(),该函数的功能是:求 200(不包括 200)以内能被 2 或 5 整除,但不能同时被 2 和 5整除的自然数。结果保存在数组 bb 中,函数 proc()返回数组 bb 中的元素。 注意:部分源程序给出如下。 请勿改动 main()函数和其他函数中的任何内容,仅在函数 proc()的横线上填入所编写的若干表达式或语句。 试题程序: #includestdlib.h #includestdio.h #define M 200 int proc(int bb) int i, j; for( 1; i

7、200; i+) if(i%2!=0 3; void main() int i, n; int bbM; system(“CLS“); n=proc(bb); for(i=0; in; i+) if(i%10=0) printf(“/n“); printf(“%4d“, bbi); (分数:30.00)解析:i=1,j=0 bj+=i return j解析 由函数 proc()可知,变量 i 和 j 要判断的每一个整数和能被2 或 5 整除但不能同时被 2 和 5 整除的自然数的个数,其初始化分别为 1 和 0,因此第一处填“i=1,j=0”;每一个符合条件的自然数放在数组 bb 中,因此第二

8、处填“bbj+=i”;题目中要求符合条件的自然数的个数要返回给主函数,因此第三空填“return j”。二、程序改错题(总题数:1,分数:40.00)2.下列给定程序中,函数 proc()的功能是找出 100m(m 不大于 1000)之间百位数字加十位数字等于个位数字的所有整数,把这些整数放在 s 所指的数组中,个数作为函数值返回。 请修改程序中的错误,使它能得到正确结果。 注意:不要改动 main()函数,不得增行或删行,也不得更改程序的结构。 试题程序: #includestdio.h #define M 1000 int proc(int*s, int n) int i, j, k, a

9、 b, c; j=0; for(i=100; in; i+) /*found* k=n; a=k%10; k/=10; b=k%10; c=k/10; if(a=b+c) /*found* sj=i; return j; void main() int aM, m, num=0, i; do printf(“/nEnter m(=1000):“); scanf(“%d“, while(m1000); num=proc(a, m); printf(“/n/nThe result: /n“); for(i=0; inum; i+) printf(“%5d“, ai); printf(“/n/n“

10、); (分数:40.00)_正确答案:()解析:(1)错误:k=n; 正确:k=i; (2)错误:sj=i; 正确:sj+=i; 解析 要找出所有符合条件的整数,就需要对 100n 的每一个数进行检验,因此 for循环中的“k=n;”应改为“k=i;”。对于每一个符合要求的整数放在数组 s 中,因此“sj=i;”应改为“sj+=i;”。三、程序设计题(总题数:1,分数:30.00)3.请编写一个函数 proc(),它的功能是:比较 2 个字符串的长度(不得调用 C 语言中求字符串长度的函数),函数返回较长的字符串。若 2 个字符串长度相等,则返回第 1 个字符串。 例如,若输入 jiangxi

11、Enter beijingEnter 则函数返回 jiangxi。 注意:部分源程序给出如下。 请勿改动 main()函数和其他函数中的任何内容,仅在函数 proc()的花括号中填入所编写的若干语句。 试题程序: #includestdio.h char*proc(char*s, char*t) void main() char a20, b10, *p, *q; printf(“Input 1th string:“); gets(a); printf(“Input 2th string:“); gets(b); printf(“%s“, proc(a, b); (分数:30.00)_正确答案:()解析:char*proc(char*s, char*t) int i, j; for(i=0; si!=“/0“; i+); /i 表示的为 s 数组的长度 for(j=0; tj!=“/0“; j+); /j 表示的为 t 数组的长度 if(i=j) /当 i 大于 j,说明 s 数组的长度大,因此返回 s return s; else /反之则返回 t return t; 解析 题目中要求不能用 C 语言中提供的求字符串长度的函数,可以通过移动字符串指针来计算字符串的长度。定义 2 个变量分别存放 2 个字符串的长度,最后比较 2 个字符串的长度,返回相对较长的那一个字符串。

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