日期:2014-05-20  浏览次数:20707 次

恒拓开源的一道面试题
本帖最后由 zxc_software 于 2013-06-30 01:15:28 编辑
1,请编码实现以下功能:
输入:0-9任意1个整数
输出:n*(n-1)*(n-2)...*1
        (n-1)*(n-2)*1

...
      1

 例如:输入3
 输出:3*2*1
         2*1
          1
面试题 编码

------解决方案--------------------

import java.util.Scanner;

public class Main {

public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("请输入一个0-9之间的数:");
int num = input.nextInt(10);

for (int i = num; i > 0; i--) {
for (int j = i; j > 0; j--) {
if (j > 1) {
System.out.print(j + "*");
} else {
System.out.print(j);
}
}
System.out.println();
}
}

}

------解决方案--------------------
上面一个写的有点问题,下面是改进后的程序。

import java.util.Scanner;

public class Main {

public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("请输入一个0-9之间的数:");
int num = input.nextInt();
if(num >= 10 
------解决方案--------------------
 num < 0) {
System.out.println("请输入0-9之间的数!");
return;
}

for (int i = num; i > 0; i--) {
for (int j = i; j > 0; j--) {
if (j > 1) {
System.out.print(j + "*");
} else {
System.out.print(j);
}
}
System.out.println();
}
}

}

------解决方案--------------------