猜中,
计算机使用了二分法。 阅读分析代码,填写缺失的部分。把填空的答案(仅填空处的答案,不包括题面)存入 考生文件夹下对应题号的“解答.txt”中即可。
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 分)
基因牛 张教授采用基因干预技术成功培养出一头母牛, 三年后, 这头母牛每年会生出 1 头母牛, 生出来的母牛三年后,又可以每年生出一头母牛。如此循环下去,请问张教授 n 年后有多少 头母牛?
第
4/12
页
以下程序模拟了这个过程,请填写缺失的代码。把填空的答案(仅填空处的答案,不包 括题面)存入考生文件夹下对应题号的“解答.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
则程序输出:
第
5/12
页
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 3 6 4 5
当 n=4 时,输出:
1 2
3 4 9 10 5 8 6 7
当 n=5 时,输出:
1 2 3 4 6 5 12 13 14 11 15 10 9 8 7
程序运行时,要求用户输入整数 n(3~20) 程序输出:方阵的上三角部分。 要求格式:每个数据宽度为 4,右对齐。 要求考生把所有类写在一个文件中。调试好后,存入与考生文件夹下对应题号的“解 答.txt”中即可。相关的工程文件不要拷入。请不要使用 package 语句。 另外,源程序中只能出现 JDK1.5 中允许的语法或调用。不能使用 1.6 或更高版本。
10. 程序设计(满分 27 分)
A、B、C、D、E、F、G、H、I、J 共 10 名学生有可能参加本次计算机竞赛,也可能 不参加。因为某种原因,他们是否参赛受到下列条件的约束:
第
6/12
页
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;i if(i>0&;&;b[i-1]==' '&;&;b[i]==' '){ start=false; } if(i>0&;&;b[i-1]!=' '&;&;b[i]==' '){ start=true; }