【PAT乙】1002 写出这个数 (20分)

1002 写出这个数 (20分)
读入一个正整数 n,计算其各位数字之和,用汉语拼音写出和的每一位数字。

输入格式:
每个测试输入包含 1 个测试用例,即给出自然数 n 的值。这里保证 n 小于 10
​100
​​ 。

输出格式:
在一行内输出 n 的各位数字之和的每一位,拼音数字间有 1 空格,但一行中最后一个拼音数字后没有空格。

输入样例:
1234567890987654321123456789

输出样例:
yi san wu

#include<iostream>
#include<string>
using namespace std;
string zm(int x){
	if(x == 0)return "ling";
	if(x == 1)return "yi";
	if(x == 2)return "er";
	if(x == 3)return "san";
	if(x == 4)return "si";
	if(x == 5)return "wu";
	if(x == 6)return "liu";
	if(x == 7)return "qi";
	if(x == 8)return "ba";
	if(x == 9)return "jiu";
}
int main(){
	string s;
	cin>>s;
	int ans = 0;
	for(int i = 0; i < s.size(); i++){
		ans += s[i]-'0';
	}
	if(ans >= 100){
		int x = ans/100;
		int y = ans/10%10;
		int z = ans%10;
		cout<<zm(x)<<' '<<zm(y)<<" "<<zm(z)<<'\n';
	}else if(ans >= 10){
		int x = ans%10;
		int y = ans/10%10;
		cout<<zm(y)<<' '<<zm(x)<<'\n';
	}else{
		cout<<zm(ans)<<'\n';
	}
	return 0;
}

发布了519 篇原创文章 · 获赞 46 · 访问量 30万+

猜你喜欢

转载自blog.csdn.net/qq_33957603/article/details/104481631
今日推荐