【计算机类职业资格】初级程序员下午试题-59及答案解析.doc
《【计算机类职业资格】初级程序员下午试题-59及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】初级程序员下午试题-59及答案解析.doc(7页珍藏版)》请在麦多课文档分享上搜索。
1、初级程序员下午试题-59 及答案解析(总分:90.00,做题时间:90 分钟)一、B试题一/B(总题数:1,分数:15.00)1.【说明】 计算三角函数 sinx 给定精度 e 和 n,若第 k 步后的结果为 sin1,第 k+1 步后的结果为sin2,若|sin1sin2|e,则返回 sin1 的值。若没有达到精度 e,但是步骤达到 n 步,则返回第 n 步后的值。其流程图如下所示: (分数:15.00)_二、B试题二/B(总题数:1,分数:15.00)2.【程序 2.1 说明】求所有满足如下条件的三位数:它除以 11 得的商等于它各位数字的平方和。例如 550,除以 11 商为50,50=
2、5 2+52+02。【程序 2.1】void main()int i, j,n,s;for(i=100;i=999;i+)n=i;j=n/11;s=0;while(U (1) /U)U(2) /Un/=10;if(U (3) /U)printf(“%d/t“,i);【程序 2.2 说明】本程序输入一字符串,将其中的大写字母改变成小写字母。【程序 2.2】void main()int i=0;char s120;scanf(“%s“,s);while(U (4) /U)if(U (5) /U)si=si- A+a;i+;printf(“%s/n“,s);(分数:15.00)_三、B试题三/B(总
3、题数:1,分数:15.00)3.【说明】 设有 3n+2 个球互连,将自然数 13n+2 分别为这些球编号,使相连的两球编号之差的绝对值正好是数列 1,2,3n+1 中的各数,如下图所示: (分数:15.00)_四、B试题四/B(总题数:1,分数:15.00)4.【说明】 计算 n 的合数。一个整数 n 可以有多种划分,使其划分的一列整数之和为 n。例如,整数 5的划分为: 5 4 1 3 2 3 1 1 2 2 1 2 1 1 1 1 1 1 1 1 共有 7 种划分。这种划分的程序如下所示。 【程序】 #include stdio.h int n1000,m,k; void output
4、sum() int j; for(j=0;nj!=0;j+) printf(“%d/t“,nj); printf(“/n“); void sum(int i) if(m-nini) m=m-ni; U(1) /U i+; ni+1=0; else U (2) /U m-=ni; i+; if(m!=ni) sum(i); else output_sum(); if(ni1) ni-; U(3) /U else while(ni=1) U (4) /U if(i!=0) U (5) /U sum(i); void main() int i; scanf(“%d“, m=k=n0; for(i=1
5、;i=k;i+) ni=0; while(n0!=1) n0-; i=0; sum(0); m=k; (分数:15.00)_五、B试题五/B(总题数:1,分数:15.00)5.【说明】 本程序用于评选优秀教师和学生。当输入一系列教师或学生的记录后,将优秀学生及教师的姓名列出来。其类结构如下图所示: (分数:15.00)_六、B试题六/B(总题数:1,分数:15.00)6.【说明】 本程序输出 10000 之内的所有完全数。完全数是指等于其所有因子和(包括 1,但不包括这个数本身)的数。例如:6=123,6=1+2+3,则 6 是一个完全数。 【程序】 public class PerfectN
6、um Public static void main(String args) int count=1; for(int i=1; i10000; i+) int y=0; for(int j=1; ji; j+) if(U (1) /U) y=U (2) /U if(U (3) /U) System.out.print(U (4) /U+String.valueOf(/t); U(5) /U If(count%3=0) System.out.printin(); (分数:15.00)_初级程序员下午试题-59 答案解析(总分:90.00,做题时间:90 分钟)一、B试题一/B(总题数:1,分
7、数:15.00)1.【说明】 计算三角函数 sinx 给定精度 e 和 n,若第 k 步后的结果为 sin1,第 k+1 步后的结果为sin2,若|sin1sin2|e,则返回 sin1 的值。若没有达到精度 e,但是步骤达到 n 步,则返回第 n 步后的值。其流程图如下所示: (分数:15.00)_正确答案:()解析:(1)i=n for(i=100;i=999;i+)n=i;j=n/11;s=0;while(U (1) /U)U(2) /Un/=10;if(U (3) /U)printf(“%d/t“,i);【程序 2.2 说明】本程序输入一字符串,将其中的大写字母改变成小写字母。【程序
8、2.2】void main()int i=0;char s120;scanf(“%s“,s);while(U (4) /U)if(U (5) /U)si=si- A+a;i+;printf(“%s/n“,s);(分数:15.00)_正确答案:()解析:(1)n (2)s=s+(n%10)*(n%10); (3)j=s (4)si (5)si=A (3)a1n+1=k; (4)m=n+1; (5)a0m-2*i-1=k; 分析 本题考查 C 语言中具体算法的实现。 题目中要求将 3n+2 个球互连,并用自然数 13n+2 分别为这些球编号,使相连的两球编号之差的绝对值正好是数列 1,2,3n+1
9、 中的各数。题目中还给出了具体的填自然数的思想。我们要完成的工作就是用 C 语言描述出题目中给出的思想。首先我们需要对其思想有个正确的认识,这是关键所在。 下面,我们来分析代码。结合整段程序代码,我们可以分析出,二维数组 a 用来存放我们要填的数字,第一维表示行数,总行数应该是 3。第二维表示列数,总列数应该是 n+2。其中的第(1)空所在的位置是表示一个条件判断语句的条件,在这之前已经对第 1 列的中间 1 个进行了填数,那么根据“先自左向右,第 1 列中间 1 个填数,然后第 2 列上、下 2 个填数,每次 2 列”的思想,再结合下面的填数程序语句,我们可以知道,此语句就是用来实现在先第
10、1 列中间 1 个填数后,对第 2 列上、下 2 个进行填数,每次 2 列这个思想的。因此,第(2)空的答案就出来了,是对第 2 列下(第 3 行)进行填数,因此,答案为“a22*i+1=k”。因为条件判断语句下面是进行了 2 次填数,因此可以判断 n 应该是个奇数,因为若 n 为偶数,最后 1 次只排第 1 列中间一个数,就不需要这个操作了。因此,第(1)空的作用应该是用来判断 n 是奇数,所以此空答案为 (n%2=1)。 第(3)空所在的位置在条件 n%2=1 成立的情况下才执行,条件 n%2=1 成立表明 n 是奇数,根据若 n 是奇数,再右第 2 列中间填数的思想,我们可以知道,此处应
11、该是对右第 2 列中间填数,因此,答案为 a1n+1=k。 第(4)空所在的位置是条件 n%2=1 不成立的情况下才执行,在上面我们知道 n%2=1 是用来判断 n 是否为奇数,如果 n 不是奇数,我们不做什么,但为了方便后面的操作,应该将 n+1 的值保存起来,因此,此空的答案为 m=n+1。 根据思想:若 n 是奇数,再右第 2 列中间填数。然后依次右第 1 列上、下 2 个填数,再右第 2 列中间 1 个填数,直到左第 2 列为止。在前面程序中,我们已经完成了前面部分,第(5)空所在的循环体就是用来完成后面部分的,在循环体中已经实现了对中、下进行填数,缺一个对上进行填数的代码,因此,第(
12、5)空要完成的任务就是对上行进行填数,因此,答案为 a0m-2*i-1=k。四、B试题四/B(总题数:1,分数:15.00)4.【说明】 计算 n 的合数。一个整数 n 可以有多种划分,使其划分的一列整数之和为 n。例如,整数 5的划分为: 5 4 1 3 2 3 1 1 2 2 1 2 1 1 1 1 1 1 1 1 共有 7 种划分。这种划分的程序如下所示。 【程序】 #include stdio.h int n1000,m,k; void output sum() int j; for(j=0;nj!=0;j+) printf(“%d/t“,nj); printf(“/n“); void
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 初级 程序员 下午 试题 59 答案 解析 DOC
