没有合适的资源?快使用搜索试试~ 我知道了~
蓝桥杯java试题(2011—2013初赛真题及模拟)
5星 · 超过95%的资源 需积分: 10 80 下载量 101 浏览量
2013-05-01
23:23:11
上传
评论 2
收藏 354KB DOC 举报
温馨提示
试读
28页
有初赛真题,还有模拟题,不过不是非常全,整理了近三年的蓝桥杯java试题,希望能帮到你
资源推荐
资源详情
资源评论
2011 模拟 java 本科
注意:
本套模拟题主要模拟命题形式与考核范围。真实竞赛题的数量、难度可能与此套模拟
题有差异。
说明:
本试卷包含两种题型:“代码填空”与“程序设计”。
填空题要求参赛选手在弄清给定代码工作原理的基础上填写缺失的部分,使得程序逻
辑正确、完整。所填写的代码不多于一条语句(即不能出现分号)。
编程题要求选手设计的程序对于给定的输入能给出正确的输出结果。注意:在评卷时
使用的输入数据与试卷中给出的实例数据可能是不同的。选手的程序必须是通用的,不能
只对试卷中给定的数据有效。
1. 代码填空(满分 2 分)
在 A B C D E F 六人中随机抽取 3 人中奖,要求中奖人不能重复。请完善以下代码:
public class MyTest
{
public static void main(String[] args)
{
Vector a = new Vector();
for(char i='A'; i<='F'; i++) a.add("" + i);
for(int k=0; k<3; k++)
{
int d = ____________________________;
System.out.println(a.remove(d));
}
}
}
2. 代码填空(满分 3 分)
不同进制的数值间的转换是软件开发中很可能会遇到的常规问题。下面的代码演示了
如何把键盘输入的 3 进制数字转换为十进制。试完善之。
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String s = br.readLine();
int n = 0;
for(int i=0; i<s.length(); i++)
{
char c = s.charAt(i);
if(c<'0' || c > '2') throw new RuntimeException("Format error");
n = ______________________;
}
System.out.println(n);
3. 代码填空(满分 4 分)
有如下程序,完成的功能为:找出数组中的最大元素。请填写程序的中空白,使程序
运行正确。
public class test
{
public static void main(String[] args) {
int array[]={0,34,67,90,21,-9,98,1000,-78};
System.out.println(new test().findMax (array, 0));
}
public int findMax(int array[],int index)
{
if(array==null || array.length==0)
{
return 0;
}
int max=array[0];
if(index<array.length-1)
{
max=____________________
}
if(max<array[index]) max= array[index];
return max;
}
}
4. 代码填空(满分 5 分)
电视台开宝箱节目:打进电话的人可以开启一个宝箱。箱子中有一件礼品。礼品是
iphone 的机率为 1/12;是 mp3 的机率为 1/5;是洗衣粉的机率为 1/2;剩余是 KFC 优惠券。
每次打进电话,宝箱会重置。
以下程序模拟了该抽奖过程。请填写缺失的部分。
public static void main(String[] args)
{
int i = (int) Math.random() * _____________;
if (i < 5) {
System.out.println("恭喜中了:iphone 手机");
}else if (i < 17) {
System.out.println("恭喜中了:mp3");
} else if (i < 47) {
System.out.println("恭喜中了:洗衣粉");
} else {
System.out.println("恭喜中了:KFC 优惠券");
}
}
5. 代码填空(满分 6 分)
下列代码求出一个二进制串中连续的 1 或连续的 0 出现的最大次数。请填缺失代码。
例如:s = “101100111100011”
则返回:4
又例如:s=”0111100000”
则返回:5
public static int getMaxContinuity(String s)
{
int max_1 = 0;
int max_0 = 0;
int n_1 = 0; // 当前 1 连续的次数
int n_0 = 0; // 当前 0 连续的次数
for(int i=0; i<s.length(); i++)
{
if(s.charAt(i)=='0')
{
n_0++;
________;
}
else
{
n_1++;
_________;
}
if(n_1 > max_1) max_1 = n_1;
if(n_0 > max_0) max_0 = n_0;
}
return max_1>max_0? max_1 : max_0);
}
6. 代码填空(满分 9 分)
下列代码把 16 进制表示的串转换为 3 进制表示的串。试完善之。
例如:x=“5”
则返回:“12”
又例如:x=”F”
则返回:“120”
private static int getRealValue(char x)
{
if(x>='0' && x<='9') return x-'0';
if(x>='a' && x<='f') return x-'a'+10;
if(x>='A' && x<='F') return x-'A'+10;
return 0;
}
public static String jin_zhi_16_3(String x)
{
int n = 0; // 累加真值
for(int i=0; i<x.length(); i++)
{
n = _________ + getRealValue(x.charAt(i)); // 填空
}
String t = "";
for(;;)
{
if(n==0) break;
t = (n % 3) + t;
_____________; // 填空
}
return t;
}
7. 代码设计(满分 5 分)
625 这个数字很特别,625 的平方等于 390625,刚好其末 3 位是 625 本身。除了 625,
还有其它的 3 位数有这个特征吗?
请编写程序,寻找所有这样的 3 位数:它的平方的末 3 位是这个数字本身。
输出结果中,从小到大,每个找到的数字占一行。比如那个 625 就输出为:
625
8. 代码设计(满分 11 分)
考虑方程式:a^3 + b^3 = c^3 + d^3
其中:“^”表示乘方。a、b、c、d 是互不相同的小于 30 的正整数。
这个方程有很多解。比如:
a = 1,b=12,c=9,d=10 就是一个解。因为:1 的立方加 12 的立方等于 1729,而 9 的
立方加 10 的立方也等于 1729。
当然,a=12,b=1,c=9,d=10 显然也是解。
如果不计 abcd 交换次序的情况,这算同一个解。
你的任务是:找到所有小于 30 的不同的正整数解。把 a b c d 按从小到大排列,用逗号
分隔,每个解占用 1 行。比如,刚才的解输出为:
1,9,10,12
不同解间的顺序可以不考虑。
9. 代码设计(满分 18 分)
整数的分划问题。
如,对于正整数 n=6,可以分划为:
6
5+1
4+2, 4+1+1
3+3, 3+2+1, 3+1+1+1
2+2+2, 2+2+1+1, 2+1+1+1+1
1+1+1+1+1+1+1
现在的问题是,对于给定的正整数 n,编写算法打印所有划分。
用户从键盘输入 n (范围 1~10)
程序输出该整数的所有划分。
10. 代码设计(满分 20 分)
一个 N 位的十进制正整数,如果它的每个位上的数字的 N 次方的和等于这个数本身,
则称其为花朵数。
例如:
当 N=3 时,153 就满足条件,因为 1^3 + 5^3 + 3^3 = 153,这样的数字也被称为水仙花
数(其中,“^”表示乘方,5^3 表示 5 的 3 次方,也就是立方)。
当 N=4 时,1634 满足条件,因为 1^4 + 6^4 + 3^4 + 4^4 = 1634。
当 N=5 时,92727 满足条件。
实际上,对 N 的每个取值,可能有多个数字满足条件。
程序的任务是:求 N=21 时,所有满足条件的花朵数。注意:这个整数有 21 位,它的
各个位数字的 21 次方之和正好等于这个数本身。
如果满足条件的数字不只有一个,请从小到大输出所有符合条件的数字,每个数字占
一行。因为这个数字很大,请注意解法时间上的可行性。要求程序在 3 分钟内运行完毕。
第三届蓝桥杯全国软件设计大赛 java 本科组预赛试题
一、结果填空题
1.黄金分割数 0.618 与美学有重要的关系。舞台上报幕员所站的位置大约就是舞台宽度的
0.618 处,墙上的画像一般也挂在房间高度的 0.618 处,甚至股票的波动据说也能找到
0.618 的影子....
黄金分割数是个无理数,也就是无法表示为两个整数的比值。0.618 只是它的近似值,其真
值可以通过对 5 开方减去 1 再除以 2 来获得,我们取它的一个较精确的近似值:0.618034
剩余27页未读,继续阅读
liu1096228183
- 粉丝: 0
- 资源: 3
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
- 3
- 4
前往页