您的位置:首页 > 编程语言 > Java开发

java经典编程题(22-24)

2014-09-06 18:36 281 查看
【程序22】题目:利用递归方法求5!。

import java.util.Scanner;
public class Demo1 {
public static long fun(int n){
if(n==1||n==0)
return 1;
else
return 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;
else
return 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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: