1002 写出这个数 (20 分)
读入一个正整数 n,计算其各位数字之和,用汉语拼音写出和的每一位数字。
输入格式:
每个测试输入包含 1 个测试用例,即给出自然数 n 的值。这里保证 n 小于 10
100
。
输出格式:
在一行内输出 n 的各位数字之和的每一位,拼音数字间有 1 空格,但一行中最后一个拼音数字后没有空格。
输入样例:
1234567890987654321123456789
输出样例:
yi san wu
#include<iostream>
#include<string>
using namespace std;
int main(){
string str1("NULL");
string str2("NULL");
int sum=0;
int yushu;
//int chushu;
int i;
cin>>str1;
for(i=0;i<str1.length();i++){
sum+=(str1[i]-'0');
}
string str3[100];
int str3_i=0;
while(sum!=0){
yushu=sum%10;
switch(yushu){
case 0:
str3[str3_i]="ling";
//cout<<"ling";
break;
case 1:
str3[str3_i]="yi";
//cout<<"yi";
break;
case 2:
str3[str3_i]="er";
//cout<<"er";
break;
case 3:
str3[str3_i]="san";
//cout<<"san";
break;
case 4:
str3[str3_i]="si";
//cout<<"si";
break;
case 5:
str3[str3_i]="wu";
//cout<<"wu";
break;
case 6:
str3[str3_i]="liu";
//cout<<"liu";
break;
case 7:
str3[str3_i]="qi";
//cout<<"qi";
break;
case 8:
str3[str3_i]="ba";
//cout<<"ba";
break;
case 9:
str3[str3_i]="jiu";
//cout<<"jiu";
break;
}
str3_i++;
sum/=10;
}
for(int j=str3_i-1;j>=0;j--){
if(j!=0){
cout<<str3[j]<<" ";
}
else
cout<<str3[j];
}
return 0;
}