不断用n去除10,得到n是个几位数,得到一个mask;
每次用mask除n,得到n的最高位数,同时mask/=10,循环一直做到mask == 0为止;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int n = in.nextInt();
int flag = 0;
if(n<0)
{
System.out.print("fu");
flag = 1;
n = -n;
}
int t = n;
int mask = 1;
while(t>9)
{
t /= 10;
mask *= 10;
}
while(mask>0)
{
if(flag == 0)
{
flag = 1;
}
else
{
System.out.print(" ");
}
int tmp = n;
tmp /= mask;
switch(tmp) {
case 0 : System.out.print("ling");break;
case 1 : System.out.print("yi");break;
case 2 : System.out.print("er");break;
case 3 : System.out.print("san");break;
case 4 : System.out.print("si");break;
case 5 : System.out.print("wu");break;
case 6 : System.out.print("liu");break;
case 7 : System.out.print("qi");break;
case 8 : System.out.print("ba");break;
case 9 : System.out.print("jiu");break;
}
n = n-tmp*mask;
mask /= 10;
}
}
}