【程序15】 题目:输入三个整数x,y,z,请把这三个数由小到大输出。 程序分析:我们想办法把最小的数放到x上,先将x与y进行比较,如果x>y则将x与y的值进行交换,然后再用x与z进行比较,如果x>z则将x与z的值进行交换,这样能使x最小。 import java.util.Scanner; public class Prog15{ public static void main(String[] args){ Scanner scan = new Scanner(System.in).useDelimiter("\\D"); System.out.print("请输入三个数:"); int x = scan.nextInt(); int y = scan.nextInt(); int z = scan.nextInt(); scan.close(); System.out.println("排序结果:"+sort(x,y,z)); } //比较两个数的大小 private static String sort(int x,int y,int z){ String s = null; if(x>y){ int t = x; x = y; y = t; } if(x>z){ int t = x; x = z; z = t; } if(y>z){ int t = z; z = y; y = t; } s = x+" "+y+" "+z; return s; } } |
【程序16】 题目:输出9*9口诀。 程序分析:分行与列考虑,共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)+" "); System.out.println(); } } } |
【程序17】 题目:猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。 程序分析:采取逆向思维的方法,从后往前推断。 public class Prog17{ public static void main(String[] args){ int m = 1; for(int i=10;i>0;i--) m = 2*m + 2; System.out.println("小猴子共摘了"+m+"桃子"); } } |
|