您的位置:首页 > 其它

PAT (Basic Level) Practise (中文)1002 写出这个数(20)

2017-08-28 17:59 531 查看

1002. 写出这个数 (20)

时间限制 400 ms
内存限制 65536 kB
代码长度限制 8000 B
判题程序 Standard 作者 CHEN, Yue
读入一个自然数n,计算其各位数字之和,用汉语拼音写出和的每一位数字。
输入格式:每个测试输入包含1个测试用例,即给出自然数n的值。这里保证n小于10100。
输出格式:在一行内输出n的各位数字之和的每一位,拼音数字间有1空格,但一行中最后一个拼音数字后没有空格。
输入样例:
1234567890987654321123456789
输出样例:
yi san wu
代码如下
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Main{
public static void main(String[] args) throws IOException {
BufferedReader bf=new BufferedReader(new InputStreamReader(System.in));

String str=bf.readLine();
char[] arr=str.toCharArray();
int sum=0;

for (int i = 0; i < arr.length; i++) {
sum+=Integer.parseInt(arr[i]+"");
}
String str2=sum+"";

int [] arr2=new int[str2.length()];
for (int i = 0; i < arr2.length; i++) {
arr2[i]=Integer.parseInt(str2.substring(i,i+1));

}
for (int i = 0; i < arr2.length; i++) {
switch (arr2[i]) {
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;
}
if (i<arr2.length-1) {
System.out.print(" ");
}
}
}
}


                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: