2011蓝桥杯高职java试题及部分参考答案_第1页
2011蓝桥杯高职java试题及部分参考答案_第2页
2011蓝桥杯高职java试题及部分参考答案_第3页
2011蓝桥杯高职java试题及部分参考答案_第4页
2011蓝桥杯高职java试题及部分参考答案_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2011年 选拔赛 java 高职考生须知:考试时间为4小时。本试卷包含两种题型:“代码填空”与“程序设计”。总计100分。其中代码填空:3+3+4+6+7+9+10 = 42 分程序设计:14+17+27 = 58分填空题要求参赛选手在弄清给定代码工作原理的基础上填写缺失的部分,使得程序逻辑正确、完整。所填写的代码不超过一条语句(即不能出现分号)。把填空的答案(仅填空处的答案,不包括题面)存入考生文件夹下对应题号的“解答.txt”中即可。编程题要求选手设计的程序对于给定的输入能给出正确的输出结果。考生的程序只有能运行出正确结果的时候才有机会得分。注意:在评卷时使用的输入数据与试卷中给出的实例数据可能是不同的。选手的程序必须是通用的,不能只对试卷中给定的数据有效。对每个题目,要求考生把所有类写在一个文件中。调试好后,存入与考生文件夹下对应题号的“解答.txt”中即可。相关的工程文件不要拷入。请不要使用package语句。另外,源程序中只能出现JDK1.5中允许的语法或调用。不能使用1.6或更高版本。1. 代码填空 (满分3分)计算蔬菜总价 为了丰富群众菜篮子,平抑菜价,相关部分组织了蔬菜的调运。今某箱中有多个品种的蔬菜。蔬菜的单价(元/公斤)存放在price数组中,蔬菜的重量(公斤)存放在weight数组中。下面的代码计算该箱蔬菜的总价,试完善之。把填空的答案(仅填空处的答案,不包括题面)存入考生文件夹下对应题号的“解答.txt”中即可。public static double getTotal(double price, double weight)double x = 0;for(int i=0; iprice.length; i+)_;return x;2. 代码填空 (满分3分)计算行程低碳生活,有氧运动。骑自行车出行是个好主意。小明为自己的自行车装了个计数器,可以计算出轮子转动的圈数。在一次骑车旅行中,出发时计算器的示数为begin,到达目的地时的示数为end。下列代码计算了小明一共骑行了多远(单位:公里)。其中d表示小明自行车轮子的直径(单位:米)。把填空的答案(仅填空处的答案,不包括题面)存入考生文件夹下对应题号的“解答.txt”中即可。public static double getDistance(int begin, int end, double d)return (end-begin) * Math.PI * d * d _; 3. 代码填空 (满分4分)反转的串解决同一个问题往往有许多方法。小刚很喜欢别出心裁。一天他在纸上草草写了一段程序,实现了把串s中的内容反转后放入s2的功能。也就是说,s2最后的内容变成了“”。可惜草纸出现了一处污损,请补全缺失的部分。把填空的答案(仅填空处的答案,不包括题面)存入考生文件夹下对应题号的“解答.txt”中即可。String s = ;String s2 = ;for(int i=0; is.length(); i+)s2 = s.charAt(i) + _;System.out.println(s2);4. 代码填空(满分6分)最近距离已知平面上的若干点的位置,存入一个List中。现在需要计算所有这些点中,距离最近的两个点间的最小距离。请补全缺失的代码。把填空的答案(仅填空处的答案,不包括题面)存入考生文件夹下对应题号的“解答.txt”中即可。class MyPointprivate double x; / 横坐标private double y; / 纵坐标public MyPoint(double x, double y)this.x = x;this.y = y;public static double distance(MyPoint p1, MyPoint p2)double dx = p1.x - p2.x;double dy = p1.y - p2.y;return Math.sqrt(dx*dx + dy*dy);/* lst中含有若干个点的坐标 返回其中距离最小的点的距离*/public static double getMinDistance(List lst)double r = _;int n = lst.size();for(int i=0; in; i+)for(int j=i+1; jn; j+)MyPoint p1 = lst.get(i);MyPoint p2 = lst.get(j);double d = MyPoint.distance(p1,p2);if( d r ) _;return r;5. 代码填空 (满分7分)股票风险股票交易上的投机行为往往十分危险。假设某股票行为十分怪异,每天不是涨停(上涨10%)就是跌停(下跌10%)。假设上涨和下跌的概率均等(都是50%)。再假设交易过程没有任何手续费。某人在开始的时候持有总价值为x的该股股票,那么100个交易日后,他盈利的可能性是多少呢?以下程序通过计算机模拟了该过程,一般的输出结果在0.3左右。请填写缺失的代码。把填空的答案(仅填空处的答案,不包括题面)存入考生文件夹下对应题号的“解答.txt”中即可。int N = 10000;int n = 0;for(int i=0; iN; i+)double value = 1000.0;for(int k=0; k _)value = value * 1.1;elsevalue = value * 0.9;if(_) n+;System.out.println(1.0*n/N);6. 代码填空 (满分9分)猜数字很多人都玩过这个游戏:甲在心中想好一个数字,乙来猜。每猜一个数字,甲必须告诉他是猜大了,猜小了,还是刚好猜中了。下列的代码模拟了这个过程。其中用户充当甲的角色,计算机充当乙的角色。为了能更快地猜中,计算机使用了二分法。阅读分析代码,填写缺失的部分。把填空的答案(仅填空处的答案,不包括题面)存入考生文件夹下对应题号的“解答.txt”中即可。System.out.println(请在心中想好一个数字(1100),我来猜);System.out.println(我每猜一个数字,你要告诉我是“猜大了”,“猜小了”,还是“猜中”);Scanner scan = new Scanner(System.in);int v1 = 1;int v2 = 100;for(;)int m = (v1 + v2)/2;System.out.println(我猜是: + m);System.out.println(1.猜得太大了);System.out.println(2.猜得太小了);System.out.println(3.猜中!);System.out.print(请选择:);int user = Integer.parseInt(scan.nextLine();if(user=3) break;if(user=1) _;if(user=2) _;7. 代码填空 (满分10分)基因牛张教授采用基因干预技术成功培养出一头母牛,三年后,这头母牛每年会生出1头母牛, 生出来的母牛三年后,又可以每年生出一头母牛。如此循环下去,请问张教授n年后有多少头母牛?以下程序模拟了这个过程,请填写缺失的代码。把填空的答案(仅填空处的答案,不包括题面)存入考生文件夹下对应题号的“解答.txt”中即可。public static class Cow private int age;public Cow afterYear()age+;return age 2 ? new Cow() : _;public static void showTotalCowNum(int n)List list = new ArrayList();list.add(new Cow();for (int i = 0; i n; i+)int cowCount = list.size();for (int j = 0; j cowCount; j+)Cow cow = list.get(j).afterYear();if (cow != null)_; list.add(cow);System.out.println(n + 年后,共有: + list.size();8. 程序设计(满分14分)在实际的开发工作中,对字符串的处理是最常见的编程任务。本题目即是要求程序对用户输入的串进行处理。具体规则如下:1. 把每个单词的首字母变为大写。2. 把数字与字母之间用下划线字符(_)分开,使得更清晰3. 把单词中间有多个空格的调整为1个空格。例如:用户输入:you and me what cpp2005program则程序输出:You And Me What Cpp_2005_program用户输入:this is a 99cat则程序输出:This Is A 99_cat我们假设:用户输入的串中只有小写字母,空格和数字,不含其它的字母或符号。每个单词间由1个或多个空格分隔。假设用户输入的串长度不超过200个字符。要求考生把所有类写在一个文件中。调试好后,存入与考生文件夹下对应题号的“解答.txt”中即可。相关的工程文件不要拷入。请不要使用package语句。另外,源程序中只能出现JDK1.5中允许的语法或调用。不能使用1.6或更高版本。9. 程序设计(满分17分)方阵的主对角线之上称为“上三角”。请你设计一个用于填充n阶方阵的上三角区域的程序。填充的规则是:使用1,2,3.的自然数列,从左上角开始,按照顺时针方向螺旋填充。例如:当n=3时,输出:1 2 36 45当n=4时,输出:1 2 3 49 10 58 67当n=5时,输出: 1 2 3 4 5 12 13 14 6 11 15 7 10 8 9程序运行时,要求用户输入整数n(320)程序输出:方阵的上三角部分。要求格式:每个数据宽度为4,右对齐。要求考生把所有类写在一个文件中。调试好后,存入与考生文件夹下对应题号的“解答.txt”中即可。相关的工程文件不要拷入。请不要使用package语句。另外,源程序中只能出现JDK1.5中允许的语法或调用。不能使用1.6或更高版本。10. 程序设计(满分27分)A、B、C、D、E、F、G、H、I、J 共10名学生有可能参加本次计算机竞赛,也可能不参加。因为某种原因,他们是否参赛受到下列条件的约束: 1. 如果A参加,B也参加; 2. 如果C不参加,D也不参加; 3. A和C中只能有一个人参加; 4. B和D中有且仅有一个人参加; 5. D、E、F、G、H 中至少有2人参加; 6. C和G或者都参加,或者都不参加; 7. C、E、G、I中至多只能2人参加 8. 如果E参加,那么F和G也都参加。 9. 如果F参加,G、H就不能参加 10. 如果I、J都不参加,H必须参加请编程根据这些条件判断这10名同学中参赛者名单。如果有多种可能,则输出所有的可能情况。每种情况占一行。参赛同学按字母升序排列,用空格分隔。比如:C D G J就是一种可能的情况。要求考生把所有类写在一个文件中。调试好后,存入与考生文件夹下对应题号的“解答.txt”中即可。相关的工程文件不要拷入。请不要使用package语句。另外,源程序中只能出现JDK1.5中允许的语法或调用。不能使用1.6或更高版本。参考答案:前面7个题目简单这里 略8.import java.util.Scanner;public class Test8 public String zhuanhua(String s) boolean start=false;char b=s.toCharArray();String s1=;String s2=;String s3=;for(int i=0;i0&bi-1= &bi= )start=false;if(i0&bi-1!= &bi= )start=true;if(bi= &start)|bi!= )s1+=bi;/System.out.println(s1);char c=s1.toCharArray();if(c0=a&c0=z)c0-=a-A;s2+=c0;for(int i=1;i=a&ci=z)ci-=a-A;s2+=ci;continue;s2+=ci;/System.out.println(s2);char d=s2.toCharArray();s3+=d0;for(int i=1;i=a&di-1=A&di-1=0&di=a&di=A&di=0&di-1=9);if(m|n)s3+=_;s3+=di;return s3;public static void main(String args) / TODO Auto-generated method stubScanner sc=new Scanner(System.in);String s=sc.nextLine();System.out.println(new Test8().zhuanhua(s);9.import java.util.Scanner;public class Testtwo public static void main(String args) / TODO Auto-generated method stubScanner sc=new Scanner(System.in);System.out.println(put n!);int n=sc.nextInt();int k=1;int a=new intnn;for(int i=0;in;i+)for(int j=i;jn-1-i*2;j+)aij=k;k+;for(int j=i;jn-i*2-1;j+)ajn-1-i-j=k;k+;for(int j=i;jn-2*i-1;j+)an-1-i-ji=k;k+;if(n-1)%3=0)a(n-1)/3(n-1)/3=k;for(int i=0;in;i+)for(int j=0;jn;j+)if(aij=0)continue;if(aij10)System.out.print(aij+ );else if(aij=0;i-)k=(char) (74-i);if(bi=1)s1+=k+ ;return s1;public void count() Testpailie tp=new Testpailie();for(int count = 0;count1024;count+)/1. 如果A参加,B也参加;boolean a1 = count/512%2=1?(count/256%2=1?true:false):true;/2. 如果C不参加,D也不参加;boolean a2= count/128%2=0?(count/64%4=0?true:false):true;/3. A和C中只能有一个人参加;boolean a3 = (count/512%2+count/128%

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论