###### 2011蓝桥杯java试题及部分参考答案

1. 代码填空 （满分3分）

	public static double getTotal(double[] price, double[] weight)
{
double x = 0;
for(int i=0; i<price.length; i++)
{
____________________;
}
return x;
}

2. 代码填空 （满分3分）

	public static double getDistance(int begin, int end, double d)
{
return (end-begin) * Math.PI * d * d _________;
}

3. 代码填空 (满分4)

		String s = "1234567";
String s2 = "";
for(int i=0; i<s.length(); i++)
{
s2 = s.charAt(i) + __________;
}
System.out.println(s2);

4. 代码填空(满分6)

class MyPoint
{
private 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<MyPoint> lst)
{
double r = ________________;
int n = lst.size();
for(int i=0; i<n; i++)
{
for(int j=i+1; j<n; j++)
{
MyPoint p1 = lst.get(i);
MyPoint p2 = lst.get(j);

double d = MyPoint.distance(p1,p2);
if( d < r ) ______________;
}
}
return r;
}
}

5. 代码填空 (满分7)

int N = 10000;
int n = 0;

for(int i=0; i<N; i++)
{
double value = 1000.0;
for(int k=0; k<100; k++)
{
if(Math.random() > _______)
value = value * 1.1;
else
value = value * 0.9;
}
if(____________) n++;
}

System.out.println(1.0*n/N);

6. 代码填空 (满分9)

System.out.println("请在心中想好一个数字（1~100），我来猜");
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)

public static class Cow
{
private int age;
public Cow afterYear()
{
age++;
return age > 2 ? new Cow() : ___________;
}

public static void showTotalCowNum(int n)
{
List<Cow> list = new ArrayList<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)
{
________________;
}
}
}
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

9. 程序设计（满分17分）

1 2 3

6 4

5

n=4时，输出：

1  2 3 4

9 10 5

8  6

7

n=5时，输出：

1  2  3  4  5

12 13 14  6

11 15  7

10  8

9

10. 程序设计（满分27分）

A、BCDEFGHI10名学生有可能参加本次计算机竞赛，也可能不参加。因为某种原因，他们是否参赛受到下列条件的约束：

1. 如果A参加，B也参加；

2. 如果C不参加，D也不参加；

3. A和C中只能有一个人参加；

4. B和D中有且仅有一个人参加；

5. D、EFG中至少有2人参加；

6. C和G或者都参加，或者都不参加；

7. C、EGI中至多只能2人参加

8. 如果E参加，那么FG也都参加。

9. 如果F参加，GH就不能参加

10. 如果IJ都不参加，H必须参加

C D G J

前面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;i<b.length;i++){

if(i>0&&b[i-1]==' '&&b[i]==' '){
start=false;
}
if(i>0&&b[i-1]!=' '&&b[i]==' '){
start=true;
}
if((b[i]==' '&&start)||b[i]!=' ')
{
s1+=b[i];
}
}
//System.out.println(s1);
char[] c=s1.toCharArray();
if(c[0]>='a'&&c[0]<='z')
{
c[0]-='a'-'A';

}
s2+=c[0];
for(int i=1;i<c.length;i++){
if(c[i-1]==' '&&c[i]>='a'&&c[i]<='z'){
c[i]-='a'-'A';
s2+=c[i];
continue;
}
s2+=c[i];
}
//System.out.println(s2);
char[] d=s2.toCharArray();
s3+=d[0];
for(int i=1;i<d.length;i++){
boolean m=((d[i-1]>='a'&&d[i-1]<='z')||(d[i-1]>='A'&&d[i-1]<='Z'))&&(d[i]>='0'&&d[i]<='9');
boolean n=((d[i]>='a'&&d[i]<='z')||(d[i]>='A'&&d[i]<='Z'))&&(d[i-1]>='0'&&d[i-1]<='9');
if(m||n){
s3+="_";
}

s3+=d[i];
}
return s3;

}
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner 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 stub
Scanner sc=new Scanner(System.in);
System.out.println("put n!");
int n=sc.nextInt();
int k=1;
int a[][]=new int[n][n];
for(int i=0;i<n;i++)
{
for(int j=i	;j<n-1-i*2;j++)
{
a[i][j]=k;
k++;
}
for(int j=i;j<n-i*2-1;j++)
{
a[j][n-1-i-j]=k;
k++;
}
for(int j=i;j<n-2*i-1;j++)
{
a[n-1-i-j][i]=k;
k++;
}
}
if((n-1)%3==0)
a[(n-1)/3][(n-1)/3]=k;
for(int i=0;i<n;i++)
{
for(int j=0;j<n;j++)
{
if(a[i][j]==0)
continue;
if(a[i][j]<10)
System.out.print(a[i][j]+"   ");
else if(a[i][j]<100)
System.out.print(a[i][j]+"  ");
else
System.out.print(a[i][j]+" ");
}
System.out.println("");
}

}

}

10.
public class Testpailie {

/**
* @param args
*/
public int zhuanhua1(String s) {
int a=0;
a=Integer.parseInt(s, 2);

return a;

}
public String zhuanhua2(int a) {
String s="";

for(;a!=0;a=a/2)
s+=a%2;
//System.out.println(s);

char[] b=s.toCharArray();
String s1="";
char k;
for(int i=s.length()-1;i>=0;i--){
k=(char) (74-i);
if(b[i]=='1')

s1+=k+" ";

}
return s1;

}
public void count() {
Testpailie tp=new Testpailie();
for(int count = 0;count<1024;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%2)<=1?true:false;
//4. B和D中有且仅有一个人参加；
boolean a4 = (count/256%2+count/64%2)<=1?true:false;
//5. D、E、F、G、H 中至少有2人参加；
boolean a5 = (count/4%2+count/8%2+count/16%2+count/32%2+count/64%2)>=2?true:false;
//6. C和G或者都参加，或者都不参加；
boolean a6 = count/128%2==1?(count/8%2==1?true:false):(count/8%2==0?true:false);
//7. C、E、G、I中至多只能2人参加
boolean a7 = (count/2%2+count/8%2+count/32%2+count/128%2)<=2?true:false;
//8. 如果E参加，那么F和G也都参加。
boolean a8 = count/32%2==1?(count/8%4==3?true:false):true;
//9. 如果F参加，G、H就不能参加
boolean a9 = count/16%2==1?(count/4%4==0?true:false):true;      //a8和a9可以忽略
//10. 如果I、J都不参加，H必须参加
boolean a10 = count%4==0?(count/4%2==1?true:false):true;

if(a1&&a2&&a3&&a4&&a5&&a6&&a7&&a8&&a9&&a10)
{
//System.out.println(count);
System.out.println(new Testpailie().zhuanhua2(count));

}

}
}
public static void main(String[] args) {

new Testpailie().count();

}

}

#### 股票风险 股票交易上的投机行为往往十分危险。假设某股票行为十分怪异，每天不是涨停（上涨10%）就是跌停（下跌10%）。

2013-04-29 09:58:11

#### ACM or 蓝桥杯之Java输入输出相关

2016-11-26 19:56:25

#### 用java实现输入学生的学号得出txt文件里该学号学生的信息

2016-10-31 22:42:18

#### 从蓝桥杯题目看Java输入问题

2017-02-26 21:50:39

#### 2015第六届蓝桥杯Java软件开发本科B组部分题目和代码

2015-04-13 22:38:46

#### <em>蓝桥杯2011</em>年<em>java</em>组真题及<em>答案</em>

2018年04月22日 00:00

#### 蓝桥杯 日期计算(java题解)

2016-08-16 11:21:37

#### 第八届蓝桥杯JAVAB组第四题

2017-04-14 10:29:48

#### 2011JAVA本科蓝桥杯模拟(3)[整数的分划问题]

2013-03-25 20:30:35

#### 字符串处理(<em>2011</em>年<em>蓝桥杯Java</em>高职组预赛第8题)

2018年04月22日 00:00

## 不良信息举报

2011蓝桥杯java试题及部分参考答案