#题目
 时间限制
 400 ms
 内存限制
 65536 kB
 代码长度限制
 8000 B
 判题程序
 Standard
 作者
 CHEN, Yue
 读入一个自然数n,计算其各位数字之和,用汉语拼音写出和的每一位数字。
 输入格式:
 每个测试输入包含1个测试用例,即给出自然数n的值。这里保证n小于10     <math>      <semantics>       <mrow>        <msup>                  <mn>          1         </mn>        </msup>       </mrow>       <annotation encoding="application/x-tex">        ^1       </annotation>      </semantics>     </math>1     <math>      <semantics>       <mrow>        <msup>                  <mn>          0         </mn>        </msup>       </mrow>       <annotation encoding="application/x-tex">        ^0       </annotation>      </semantics>     </math>0     <math>      <semantics>       <mrow>        <msup>                  <mn>          0         </mn>        </msup>       </mrow>       <annotation encoding="application/x-tex">        ^0       </annotation>      </semantics>     </math>0。
 输出格式:
 在一行内输出n的各位数字之和的每一位,拼音数字间有1 空格,但一行中最后一个拼音数字后没有空格。
 输入样例:
1234567890987654321123456789
输出样例:
yi san wu
#分析:
 n太长了只有字符串输入,然后再挨个加每一位的数字(注意转换),最后再输出取余存储逆序输出。
 亮点是把数字对应的字符串开全局变量存储起来
#代码(CPP)
#include<iostream>
#include<string.h>
using namespace std;
char name[][5]={"ling","yi","er","san","si","wu","liu","qi","ba","jiu"};
int main(){
    string a;
    char b[5][5];
    int sum=0;
    int k=0;
    cin>>a;
    for(int i=0;a[i]!='\0';i++)
        sum += a[i]-'0';
    while(sum!=0){
        int t=sum%10;
        sum/=10;
        strcpy(b[k++],name[t]);
    }
    for(int i=k-1;i>=0;i--){
        if(i!=k-1)
            cout<<" ";
        cout<<b[i];
    }
    return 0;
}
#代码(Java)
import java.util.*;
public class Main {
		static String name[] = {"ling","yi","er","san","si","wu","liu","qi","ba","jiu"};
	public static void main(String[] args) {
		Scanner in = new Scanner(System.in);
		String ans[] =new String[5];
		int sum=0;
		int k=0;
		String a=in.next();
		for(int i=0;i<a.length();i++)
			sum += a.charAt(i)-'0';
		while(sum!=0) {
			ans[k++]=name[sum%10];
			sum/=10;
		}
		for(int i=k-1;i>=0;i--) {
			if(i!=k-1)
				System.out.print(" ");
			System.out.print(ans[i]);
		}
		in.close();
	}
}

 京公网安备 11010502036488号
京公网安备 11010502036488号