第三届蓝桥杯高职java预赛题及参考答案.docx

上传人:b****3 文档编号:895086 上传时间:2022-10-13 格式:DOCX 页数:17 大小:39.13KB
下载 相关 举报
第三届蓝桥杯高职java预赛题及参考答案.docx_第1页
第1页 / 共17页
第三届蓝桥杯高职java预赛题及参考答案.docx_第2页
第2页 / 共17页
第三届蓝桥杯高职java预赛题及参考答案.docx_第3页
第3页 / 共17页
第三届蓝桥杯高职java预赛题及参考答案.docx_第4页
第4页 / 共17页
第三届蓝桥杯高职java预赛题及参考答案.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

第三届蓝桥杯高职java预赛题及参考答案.docx

《第三届蓝桥杯高职java预赛题及参考答案.docx》由会员分享,可在线阅读,更多相关《第三届蓝桥杯高职java预赛题及参考答案.docx(17页珍藏版)》请在冰豆网上搜索。

第三届蓝桥杯高职java预赛题及参考答案.docx

第三届蓝桥杯高职java预赛题及参考答案

1、造成高房价的原因有许多,比如土地出让价格。

既然地价高,土地的面积必须仔细计算。

遗憾的是,有些地块的形状不规则,比如是如图【1.jpg】中所示的五边形。

一般需要把它划分为多个三角形来计算。

已知三边求三角形的面积需要用海伦定理,参见【2.jpg】

各条边长数据如下:

AB=52.1

BC=57.2

CD=43.5

DE=51.9

EA=33.4

EB=68.2

EC=71.9

根据这些数据求五边形地块的面积。

四舍五入到小数后两位。

只写结果,不要源代码!

1.jpg2.jpg

publicclassOnea{

publicstaticvoidmain(Stringargs[])

{

doubles_ABE=(52.1+68.2+33.4)/2;

doubles_BEC=(68.2+57.2+71.9)/2;

doubles_EDC=(71.9+51.9+43.5)/2;

//sqrt()是Math中的静态方法可以用类名直接调用

doubleA_ABE=Math.sqrt(s_ABE*(s_ABE-52.1)*(s_ABE-33.4)*(s_ABE-68.2));

doubleA_BEC=Math.sqrt(s_BEC*(s_BEC-68.2)*(s_BEC-57.2)*(s_BEC-71.9));

doubleA_EDC=Math.sqrt(s_EDC*(s_EDC-71.9)*(s_EDC-43.5)*(s_EDC-51.9));

System.out.println(A_ABE+A_BEC+A_EDC);

}

}//输出的结果是3789.8640994485186

publicclassOne{

publicstaticvoidmain(String[]args){

doubleAB=52.1,BC=57.2,CD=43.5,DE=51.9,EA=33.4,EB=68.2,EC=71.9;

System.out.println(mainji(AB,EB,EA)+mainji(EB,BC,EC)+mainji(EC,CD,DE));

}

staticdoublemainji(doublea,doubleb,doublec)

{

doubles=(a+b+c)/2;

returnMath.sqrt(s*(s-a)*(s-b)*(s-c));

}

}输出结果:

3789.8640994485186

2、今年的植树节(2012年3月12日),小明和他的叔叔还有小伙伴们一起去植树。

休息的时候,小明的同学问他叔叔多大年纪,他叔叔说:

“我说个题目,看你们谁先猜出来!

“把我出生的年月日连起来拼成一个8位数(月、日不足两位前补0)正好可以被今天的年、月、日整除!

他想了想,又补充到:

“再给个提示,我是6月出生的。

根据这些信息,请你帮小明算一下,他叔叔的出生年月日。

格式是年月日连成的8位数。

例如,如果是1948年6月12日,就写:

19480612

publicclassTwo{

publicstaticvoidmain(String[]args){

{

for(inty=2011;y>1900;y--)

{

for(intd=0;d<31;d++)

{

intval=y*10000+6*100+d;

if(val%2012==0&&val%3==0&&val%12==0)

{

if(d<10){

System.out.println(y+"060"+d);

break;

}else{

System.out.println(y+"06"+d);

break;

}

}

}

}

}

}19550604

3、你一定听说过这个故事。

国王对发明国际象棋的大臣很佩服,问他要什么报酬,大臣说:

请在第1个棋盘格放1粒麦子,在第2个棋盘格放2粒麦子,在第3个棋盘格放4粒麦子,在第4个棋盘格放8粒麦子,......后一格的数字是前一格的两倍,直到放完所有棋盘格(国际象棋共有64格)。

国王以为他只是想要一袋麦子而已,哈哈大笑。

当时的条件下无法准确计算,但估算结果令人吃惊:

即使全世界都铺满麦子也不够用!

请你借助计算机准确地计算,到底需要多少粒麦子。

importjava.math.BigInteger;

publicclassThree{

publicstaticvoidmain(String[]args){

BigIntegersum=newBigInteger("1");

BigIntegern=newBigInteger("2");

BigIntegernum=newBigInteger("1");

for(inti=1;i<=64;i++)

{

num=num.multiply(n);

System.out.println(num);

sum=sum.add(num);

}

}184********709551616

4、有一群海盗(不多于20人),在船上比拼酒量。

过程如下:

打开一瓶酒,所有在场的人平分喝下,有几个人倒下了。

再打开一瓶酒平分,又有倒下的,再次重复......直到开了第4瓶酒,坐着的已经所剩无几,海盗船长也在其中。

当第4瓶酒平分喝下后,大家都倒下了。

等船长醒来,发现海盗船搁浅了。

他在航海日志中写到:

“......昨天,我正好喝了一瓶.......奉劝大家,开船不喝酒,喝酒别开船......”

请你根据这些信息,推断开始有多少人,每一轮喝下来还剩多少人。

如果有多个可能的答案,请列出所有答案,每个答案占一行。

格式是:

人数,人数,...

例如,有一种可能是:

20,5,4,2,0

publicclassFour{

publicstaticvoidmain(String[]args){

for(intd=20;d>0;d--)

{

for(intc=20;c>3;c--)

{

for(intb=20;b>2;b--)

{

for(inta=20;a>1;a--)

{

doubles;

s=1.0/d+1.0/a+1.0/b+1.0/c;

if(s==1.0&&(a

{

System.out.println(d+","+c+","+b+","+a+","+"0");

}

}

}

}20,5,4,2,0

}18,9,3,2,0

}12,6,4,2,0

}

5、以下的静态方法实现了:

把串s中第一个出现的数字的值返回。

如果找不到数字,返回-1例如:

s="abc24us43"则返回2

s="82445adb5"则返回8

s="ab"则返回-1

publicstaticintgetFirstNum(Strings)

{

if(s==null||s.length()==0)return-1;

charc=s.charAt(0);

if(c>='0'&&c<='9')return_____________;//填空

returngetFirstNum(______________);//填空

}

解析:

1)、publicclassfive{

publicstaticvoidmain(String[]args){

Strings="abc24us43";

inta=getFirstNum(s);

System.out.println(a);

s="82445adb";

a=getFirstNum(s);

System.out.println(a);

s="ab";

a=getFirstNum(s);

System.out.println(a);

}

publicstaticintgetFirstNum(Strings)

{

if(s==null||s.length()==0)return-1;

charc=s.charAt(0);

if(c>='0'&&c<='9')returnc-'0';

returngetFirstNum(s.substring

(1));

}

2、)publicclassFive{

publicstaticvoidmain(String[]args){

System.out.println(getFirstNum("abc51"));

}

publicstaticintgetFirstNum(Strings)

{

if(s==null||s.length()==0)

return-1;

charc=s.charAt(0);

if(c>='0'&&c<='9')

returnInteger.parseInt(String.valueOf(c).toString());

returngetFirstNum(s.substring

(1));

}

}6、下面代码模拟了一套扑克牌(初始排序A~K,共13张)的操作过程。

操作过程是:

手里拿着这套扑克牌,从前面拿一张放在后面,再从前面拿一张放桌子上,再从前面拿一张放在后面,....

如此循环操作,直到剩下最后一张牌也放在桌子上。

下面代码的目的就是为了求出最后桌上的牌的顺序。

初始的排列如果是A,2,3...K,则最后桌上的顺序为:

[2,4,6,8,10,Q,A,5,9,K,7,3,J]

importjava.util.*;

publicclassSix{

publicstaticListmoveCard(Listsrc)

{

if(src==null)

returnnull;

Listdst=newVector();

for(;;)

{

if(src.size()==0)

break;

src.add(src.remove(0));

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1