Java50道经典习题-程序36 移动位置】的更多相关文章

题目:有n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面的m个数 分析:比如有4个数n=4; 1 2 3 4 各个数向后移动2位m=2,变为 1 2 3 4 将最后m个数,即将最后2个数变成前面的2个数变为 3 4 1 2 import java.util.Arrays; import java.util.Scanner; public class Prog36 { public static void main(String[] args) { //获取用户输入数据 Scanne…
题目:有五个学生,每个学生有3门课的成绩,从键盘输入以上数据(包括学生号,姓名,三门课成绩),计算出平均成绩,将原有的数据和计算出的平均分数存放在磁盘文件"stud"中. import java.io.*; public class Prog50{ //定义学生模型 String[] number = new String[5]; String[] name = new String[5]; float[][] grade = new float[5][3]; float[] sum…
题目:输入两个正整数m和n,求其最大公约数和最小公倍数.分析:用辗转相除法求最大公约数    两个数的最大公约数:设两个数分别为n和m,(n>=m);用定义一个变量i,使用for循环,将i的取值从m一直到1,用i分别去取模于m和n,当两个数被取模的结果都是0时,返回此时变量i的值,此时i的值即为最大公约数    两个数的最小公倍数=两个数之积/最大公约数 import java.util.*; public class Prog6 { public static void main(String…
题目:输出9*9口诀.分析:利用双重for循环进行输出,分行与列考虑,共9行9列,i控制行,j控制列. public class Prog16 { public static void main(String[] args) { for(int i=1;i<10;i++) { for(int j=1;j<i+1;j++) { System.out.print(j+"*"+i+"="+(j*i)+"\t");//使用转义字符使得输出更加…
题目:两个乒乓球队进行比赛,各出三人.甲队为a,b,c三人,乙队为x,y,z三人.已抽签决定比赛名单.有人向队员打听比赛的名单. a说他不和x比,c说他不和x,z比,请编程序找出三队赛手的名单.分析:如果是人经过逻辑推理可以很快的得到结论.但是计算机处理此问题,不可能立即得出结论,而必须对每一种组合一一验证,找出符合条件的组合. 假设甲队a,b,c的对手分别是i,j,k i,j,k互不相等并且分别都是乙队x,y,z中的一人 利用三重for循环保证i,j,k互不相等 再将题设条件“a说他不和x比,…
题目:打印出杨辉三角形(要求打印出10行如下图)分析:          1         1 1        1 2 1      1 3 3 1    1 4 6 4 11 5 10 10 5 1%4d代表在4个空格内打印数字.我们选择4,因为我们知道10行杨辉三角形的最大数字的最大位数是3位数. public class Prog33 { public static void main(String[] args) { int rows = 10; for(int i =0;i<row…
题目:输入3个数a,b,c,按大小顺序输出. import java.util.Scanner; public class Prog34 { public static void main(String[] args) { //键盘录入三个数 Scanner scan=new Scanner(System.in); System.out.println("请输入3个数:"); int a=scan.nextInt(); int b=scan.nextInt(); int c=scan.…
题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子对数为多少? 分析:假如:1月1日有1对兔子,根据题目“从出生后第3个月起每个月都生一对兔子”即3月1日这对兔子产子一对由此可推出一对兔子从出生到产子的时间为每两个月一次,从第二对兔子开始,后续兔子的产子时间相同由此可得出以下的兔子数规律    兔子的规律为1,1,2,3,5,8,13,21.... 从第3月开始,每月兔子的总数等于上两月兔子总数之和 总数量  …
题目:有一个已经排好序的数组.现输入一个数,要求将它插入数组中后数组依然是排好序的.分析:首先判断此数是否大于最后一个数,然后再考虑插入中间的数的情况,插入后此元素之后的数,依次后移一个位置. import java.util.Arrays; import java.util.Scanner; public class Prog30 { public static void main(String[] args) { int[] array = {0,1,2,3,5,7,8,9,12};//定义…
题目:编写一个两个字符串连接的程序 import java.util.Scanner; public class Prog46 { public static void main(String[] args) { System.out.println("请输入第一个字符串:"); Scanner scan=new Scanner(System.in); String str1=scan.nextLine(); System.out.println("请输入第二个字符串:&qu…