1、; String s2 = s.length(); s2 = s.charAt(i) + _; System.out.println(s2);4. 代码填空(满分6分)最近距离已知平面上的若干点的位置,存入一个List中。现在需要计算所有这些点中,距离最近的两个点间的最小距离。请补全缺失的代码。class MyPoint private double x; / 横坐标 private double y; / 纵坐标 public MyPoint(double x, double y) this.x = x; this.y = y; public static double distance(M
2、yPoint 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();n; for(int j=i+1; j j+) MyPoint p1 = lst.get(i); MyPoint p2 = lst.get(j); double
3、d = MyPoint.distance(p1,p2); if( d r ) _; return r;5. 代码填空 (满分7分)股票风险股票交易上的投机行为往往十分危险。假设某股票行为十分怪异,每天不是涨停(上涨10%)就是跌停(下跌10%)。假设上涨和下跌的概率均等(都是50%)。再假设交易过程没有任何手续费。某人在开始的时候持有总价值为x的该股股票,那么100个交易日后,他盈利的可能性是多少呢?以下程序通过计算机模拟了该过程,一般的输出结果在0.3左右。请填写缺失的代码。 int N = 10000; int n = 0; for(int i=0;N; double value = 10
4、00.0; for(int k=0; k _) value = value * 1.1; else value = value * 0.9; if(_) n+; System.out.println(1.0*n/N);6. 代码填空 (满分9分)猜数字很多人都玩过这个游戏:甲在心中想好一个数字,乙来猜。每猜一个数字,甲必须告诉他是猜大了,猜小了,还是刚好猜中了。下列的代码模拟了这个过程。其中用户充当甲的角色,计算机充当乙的角色。为了能更快地猜中,计算机使用了二分法。阅读分析代码,填写缺失的部分。 System.out.println(请在心中想好一个数字(1100),我来猜);我每猜一个数字,
5、你要告诉我是“猜大了”,“猜小了”,还是“猜中” Scanner scan = new Scanner(System.in); int v1 = 1; int v2 = 100; for(;) int m = (v1 + v2)/2; System.out.println(我猜是: + m);1.猜得太大了2.猜得太小了3.猜中! System.out.print(请选择: int user = Integer.parseInt(scan.nextLine(); if(user=3) break; if(user=1) _; if(user=2) _;7. 代码填空 (满分10分)基因牛张教授
6、采用基因干预技术成功培养出一头母牛,三年后,这头母牛每年会生出1头母牛, 生出来的母牛三年后,又可以每年生出一头母牛。如此循环下去,请问张教授n年后有多少头母牛?以下程序模拟了这个过程,请填写缺失的代码。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 (in
7、t i = 0; i n; int cowCount = list.size(); for (int j = 0; j cowCount; Cow cow = list.get(j).afterYear(); if (cow != null) _; list.add(cow); System.out.println(n + 年后,共有: + list.size();8. 程序设计(满分14分)在实际的开发工作中,对字符串的处理是最常见的编程任务。本题目即是要求程序对用户输入的串进行处理。具体规则如下:1. 把每个单词的首字母变为大写。2. 把数字与字母之间用下划线字符(_)分开,使得更清晰3.
8、 把单词中间有多个空格的调整为1个空格。例如: 用户输入:you and me what cpp2005program则程序输出:You And Me What Cpp_2005_programthis is a 99catThis Is A 99_cat我们假设:用户输入的串中只有小写字母,空格和数字,不含其它的字母或符号。每个单词间由1个或多个空格分隔。假设用户输入的串长度不超过200个字符。要求考生把所有类写在一个文件中。调试好后,存入与考生文件夹下对应题号的“解答.txt”中即可。相关的工程文件不要拷入。请不要使用package语句。另外,源程序中只能出现JDK1.5中允许的语法或调用
9、。不能使用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,右对齐。10. 程序设计(满分27分)A、B、C、D、E、F、G、H、I、J 共10名学生有可能参加本次计算
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
11、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=i0&bi-1= bi=) start=false;bi-1!= start=true; if(bi=start)|bi! s1+=bi; /System.out.println(s1); char c=s1.toCharArray
12、(); if(c0ac0cidi-1Z)&(di0di)|(di(di-1 if(m|n) s3+=_ s3+=di; 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.public class Testtwo put n! int n=sc.nextInt(); int k=
13、1; int a=new intnn;i+) for(int j=i ;jn-1-i*2;j+) aij=k; k+; for(int j=i;n-i*2-1; ajn-1-i-j=k;n-2*i-1; an-1-i-ji=k; if(n-1)%3=0) a(n-1)/3(n-1)/3=k; for(int j=0; if(aij=0) continue; if(aij10) System.out.print(aij+ else if(aiji-) k=(char) (74-i); if(bi=1 s1+=k+ return s1; public void count() Testpailie
14、 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? /3. A和C中只能有一个人参加; boolean a3 = (count/512%2+count/128%2)=1?false; /4. B和D中有且仅有一个人参加; boolean a4 = (count/25
15、6%2+count/64%2)=2? /6. C和G或者都参加,或者都不参加; boolean a6 = count/128%2=1?(count/8%2=1?(count/8%2=0?false); /7. C、E、G、I中至多只能2人参加 boolean a7 = (count/2%2+count/8%2+count/32%2+count/128%2) /8. 如果E参加,那么F和G也都参加。 boolean a8 = count/32%2=1?(count/8%4=3? /9. 如果F参加,G、H就不能参加 boolean a9 = count/16%2=1?(count/4%4=0? /a8和a9可以忽略 /10. 如果I、J都不参加,H必须参加 boolean a10 = count%4=0?(count/4%2=1? if(a1&a2&a3&a4&a5&a6&a7&a8&a9&a10) /System.out.println(count); System.out.println(new Testpailie().zhuanhua2(count); new Testpailie().count();
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1