java经典编程题(22-24)

来源:互联网 发布:在迪拜学英语 知乎 编辑:程序博客网 时间:2024/06/05 17:25

【程序22】题目:利用递归方法求5!

import java.util.Scanner;public class Demo1 {public static long fun(int n){if(n==1||n==0)return 1;elsereturn fun(n-1)*n;}public static void main(String[] args) {Scanner scan = new Scanner(System.in);int n = scan.nextInt();System.out.println(n+"!="+fun(n));}}

【运行结果】

5

5!=120


【程序23】题目:有5个人坐在一起,问第五个人多少岁?他说比第4个人大2岁。问第4个人岁数,他说比第3个人大2岁。问第三个人,又说比第2人大两岁。问第2个人,说比第一个人大两岁。最后问第一个人,他说是10岁。请问第五个人多大?

import java.util.Scanner;public class Demo1 {public static int fun(int n){if(n==1)return 10;elsereturn fun(n-1)+2;}public static void main(String[] args) {Scanner scan = new Scanner(System.in);int n = scan.nextInt();System.out.println("第 "+n+"人的年龄:"+fun(n));}}

【运行结果】

5

第 5人的年龄:18



【程序24】题目:给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。

import java.util.Scanner;public class Demo1 {public static void main(String[] args) {Scanner scan = new Scanner(System.in);int n = scan.nextInt();int[] a={0,0,0,0,0};int i=0;while(n>0){a[i]= n%10;n/=10;i++;}if (i==1) {System.out.print("是一位数,");} else if (i==2) {System.out.print("是二位数,");} else if (i==3) {System.out.print("是三位数,");} else if (i==4) {System.out.print("是四位数,");} else if (i==5) {System.out.print("是五位数,");}System.out.print( "按逆序输出是:" );for(int j=0;j<i;j++){System.out.print(a[j]);}}}

【运行结果】

10000

是五位数,按逆序输出是:00001

 








0 0
原创粉丝点击