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

上传人:hopesteam270 文档编号:1324939 上传时间:2019-10-17 格式:DOC 页数:6 大小:31.50KB
下载 相关 举报
【计算机类职业资格】二级C语言-171 (1)及答案解析.doc_第1页
第1页 / 共6页
【计算机类职业资格】二级C语言-171 (1)及答案解析.doc_第2页
第2页 / 共6页
【计算机类职业资格】二级C语言-171 (1)及答案解析.doc_第3页
第3页 / 共6页
【计算机类职业资格】二级C语言-171 (1)及答案解析.doc_第4页
第4页 / 共6页
【计算机类职业资格】二级C语言-171 (1)及答案解析.doc_第5页
第5页 / 共6页
点击查看更多>>
资源描述

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