ImageVerifierCode 换一换
格式:DOCX , 页数:40 ,大小:29.72KB ,
资源ID:6708461      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/6708461.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(国信蓝点杯 java50道试题及答案全解高职高专组.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

国信蓝点杯 java50道试题及答案全解高职高专组.docx

1、国信蓝点杯 java50道试题及答案全解高职高专组解答时回帖格式为:程序编号+代码【程序1】题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?1.程序分析: 兔子的规律为数列1,1,2,3,5,8,13,21.public class Test01 public static int fibonacci(int n) if(n=1|n=2) return 1; return fibonacci(n-1)+fibonacci(n-2); public static void main(String

2、args) for(int i=1;i=10;i+) System.out.print(fibonacci(i)+ ); 【程序2】题目:判断101-200之间有多少个素数,并输出所有素数。1.程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。package exercise.day01;public class Test02 public static void suShu(int n) for(int i=2;i=Math.sqrt(n);i+) if(n%i=0) break; else if(n%i!=0&i=(int)Ma

3、th.sqrt(n) System.out.print(n+ ); break; public static void main(String args) for(int i=101;i=200;i+) suShu(i); 【程序3】题目:打印出所有的 水仙花数 ,所谓 水仙花数 是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个 水仙花数 ,因为153=1的三次方5的三次方3的三次方。1.程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。package exercise.day01;public class Test03 private static

4、 void shuiXianHua(int i) int a,b,c; a=i%10; b=i/10%10; c=i/100; if(i=a*a*a+b*b*b+c*c*c) System.out.print(i+ ); public static void main(String args) for(int i=100;i+999;i+) shuiXianHua(i); 【程序4】题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成:(1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印

5、出即可。(2)如果n k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数你n,重复执行第一步。(3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步。package exercise.day01;import java.util.Scanner;public class Test04 public static void main(String args) Scanner sc=new Scanner(System.in); System.out.println(请输入一个正整数:); int n=sc.nextInt(); System.out.print(n+=

6、); for(int j=2;j =90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。1.程序分析:(a b)?a:b这是条件运算符的基本例子。package exercise.day01;import java.util.Scanner;public class Test05 public static void main(String args) Scanner sc=new Scanner(System.in); System.out.println(请输入你的成绩:); int score=sc.nextInt(); int a = 0; if(score=90)

7、 a=1; if(score=60&score90) a=2; if(score60) a=3; switch(a) case 1: System.out.println(A); break; case 2: System.out.println(B); break; case 3: System.out.println(C); break; default: System.out.println(你输入的成绩不符合要求); 【程序6】题目:输入两个正整数m和n,求其最大公约数和最小公倍数。1.程序分析:利用辗除法。package exercise.day01;import java.util

8、.Scanner;public class Test06 public static int maxG(int a,int b) if(b=0) return a; return maxG(b,a%b); public static int minG(int a,int b) int temp; temp=a*b/maxG(a,b); return temp; public static void main(String args) System.out.println(请输入要求的两个数:); Scanner sc=new Scanner(System.in); int a=sc.nextI

9、nt(); int b=sc.nextInt(); System.out.println(最大公约数为:+maxG(a,b); System.out.println(最小公倍数为:+minG(a,b); 【程序7】题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。1.程序分析:利用while语句,条件为输入的字符不为 n .package exercise.day01;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;public class

10、Test07 public static void main(String args) throws IOException System.out.println(请输入一行字符:); BufferedReader reader = new BufferedReader( new InputStreamReader(System.in); String str=reader.readLine(); int a=new int 4; char ary=str.toCharArray(); /字符串转化为字符数组 / char ary=new charstr.length(); / for(int

11、 i=0;istr.length();i+) / aryi=str.charAt(i); int i=0; while(ia&aryiA&aryi=0&aryi=9) a1+=1; i+; else if(aryi= ) a2+=1; i+; else a3+=1; i+; / System.out.println(字母有:+a0); System.out.println(数字有:+a1); System.out.println(空格有:+a2); System.out.println(其他字符有:+a3); /【程序8】题目:求s=a+aa+aaa+aaaa+aa.a的值,其中a是一个数字。

12、例如2+22+222+2222+22222(此时共有5个数相加),几个数相加有键盘控制。package exercise.day01;import java.util.Scanner;public class Test08 public static void main(String args) int s=0; System.out.println(请输入一个数:); System.out.println(请输入多少数相加:); Scanner sc=new Scanner(System.in); int a=sc.nextInt(); int b=sc.nextInt(); System.

13、out.print(s=); for(int i=1;i0;j-) s+=a*Math.pow(10, j-1); if(i=b) System.out.println(s); else System.out.print(s+); s=0; 1.程序分析:关键是计算出每一项的值。【程序9】题目:一个数如果恰好等于它的因子之和,这个数就称为 完数 。例如6=123.编程 找出1000以内的所有完数。package exercise.day01;public class Test09 static int sum=1; public static void main(String args) fo

14、r(int i=2;i100;i+) f(i); if(sum=i) System.out.println(i); public static void f(int i) for(int j=2;j=i;j+) if(i%j=0) sum+=j; i=i/j; j=2; f(i); 【程序10】题目:一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在 第10次落地时,共经过多少米?第10次反弹多高?package exercise.day01;public class Test10 public static void main(String args) double h

15、=100; double sum=0; for(int i=1;i=10;i+) sum+=h; h=h/2; System.out.println(共经过+sum+米); System.out.println(反弹+h+米); 【程序11】题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去 掉不满足条件的排列。package exercise.day01;public class Test11 public static void main(String args) int su

16、m=0; int arr=new int4; for(int i=1;i5;i+) for(int j=1;j5;j+) for(int x=1;x5;x+) if(i!=j&i!=x&j!=x) System.out.println(i*100+j*10+x); sum+=1; System.out.println(无重复的三位数有:+sum); 【程序12】题目:企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5

17、%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数?1.程序分析:请利用数轴来分界,定位。注意定义时需把奖金定义成长整型。package exercise.day01;import java.util.Scanner;public class Test12 public static void main(String args) System.out.println(请输入当月利润:); Scanner sc=new Scanner(Syst

18、em.in); double moneyRate=sc.nextDouble(); double a=new double6; a0=(100000*0.1); a1=(100000*0.075); a2=(200000*0.05); a3=(200000*0.03); a4=(400000*0.015); if(moneyRate=100000) System.out.println(moneyRate*0.1); if(moneyRate100000) System.out.println(moneyRate-100000)*0.075+a0); if(moneyRate200000) S

19、ystem.out.println(moneyRate-200000)*0.05+a0+a1); if(moneyRate400000) System.out.println(moneyRate-400000)*0.003+a0+a1+a2); if(moneyRate600000) System.out.println(moneyRate-600000)*0.015+a0+a1+a2+a3); if(moneyRate1000000) System.out.println(moneyRate-1000000)*0.001+a0+a1+a2+a3+a4); 【程序13】题目:一个整数,它加上1

20、00后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?1.程序分析:在10万以内判断,先将该数加上100后再开方,再将该数加上268后再开方,如果开方后的结果满足如下条件,即是结果。请看具体分析:package exercise.day01;public class Test13 public static void main(String args) for(int i=100;i100000;i+) for(int j=2;ji+100;j+) if(Math.sqrt(i+100)=j) for(int x=2;xj+168;x+) if(Math.sqrt(j+168

21、)=x) System.out.println(i); 【程序14】题目:输入某年某月某日,判断这一天是这一年的第几天?1.程序分析:以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天,特殊情况,闰年且输入月份大于3时需考虑多加一天。package exercise.day01;import java.util.Scanner;public class Test14 public static void main(String args) int a=new int 3; System.out.println(请按这种格式输入某年某月某日:yyyy-mm-dd); Scan

22、ner sc=new Scanner(System.in); String time=sc.next(); String gettime=time.split(-); for(int i=0;igettime.length;i+) ai=Integer.parseInt(gettimei); int month_days=0,31,28,31,30,31,30,31,31,30,31,30, 0,31,29,31,30,31,30,31,31,30,31,30; int flag=(a0%4=0&a0%100!=0)|a0%400=0?1:0; int sum=a2; for(int i=0;

23、i y则将x与y的值进行交换,然后再用x与z进行比较,如果x z则将x与z的值进行交换,这样能使x最小。package exercise.day01;import java.util.Scanner;public class Test15 public static void main(String args) Scanner sc=new Scanner(System.in); int temp; int x=sc.nextInt(); int y=sc.nextInt(); int z=sc.nextInt(); if(xy) temp=x; x=y; y=temp; if(xz) tem

24、p=x; x=z; z=temp; if(yz) System.out.println(x+,+y+,+z); else System.out.println(x+,+z+,+y); 【程序16】题目:输出9*9口诀。1.程序分析:分行与列考虑,共9行9列,i控制行,j控制列。package exercise.day01;public class Test16 public static void main(String args) for(int i=1;i=9;i+) for(int j=1;j=i;j+) System.out.print(j+*+i+=+i*j+t); System.o

25、ut.println(); 【程序17】题目:猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个 第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下 的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。1.程序分析:采取逆向思维的方法,从后往前推断。package exercise.day01;public class Test17 public static void main(String args) int num=1; for(int i=1;i10;i+) num=(num+1)*2; System.out.println(num); 【程序18】题目:两个乒乓球队进行比赛,各出三人。甲队为a,b,c三人,乙队为x,y,z三人。已抽签决定比赛名单。有人向队员打听比赛的名单。a说他不和x比,c说他不和x,z比,请编程序找出三队赛手的名单。1.程序分析:判断素数的方法:用一个数分别去除2到sqrt(

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

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