PAT乙级 1002写出这个数

Posted lzdxh027

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PAT乙级 1002写出这个数相关的知识,希望对你有一定的参考价值。

题目为:

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

输入格式:

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

输出格式:

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

输入样例:

1234567890987654321123456789
 

输出样例:

yi san wu

代码实现:

#include <iostream>
#include<algorithm>
#include<string.h>
using namespace std;
//数值超过了Int的表示范围,使用字符串处理
int main(){
//定义一个string类的数组存储和
string number;
int sum=0;
string eg[10] = {"ling", "yi", "er", "san", "si", "wu", "liu", "qi", "ba", "jiu"};
char ch;//输入字符存储数字
while((ch=getchar())!=‘\n‘)
sum+=(ch-‘0‘);//减去字符‘0‘,变为Int 型,并累加
int temp=sum,count=0;
while(temp){// 计算和的位数
temp/=10;
count++;
}
//将每一位顺序存储进string数组中
for(int k=count-1;k>=0;k--){
number[k]=sum%10+‘0‘;
sum=sum/10;
}
//控制输出
for(int k=0;number[k]!=0;k++){
if(k>0)
printf(" ");
cout<<eg[number[k]-‘0‘];
}
return 0;
}


以上是关于PAT乙级 1002写出这个数的主要内容,如果未能解决你的问题,请参考以下文章

PAT乙级.1002.写出这个数

PAT乙级1002. 写出这个数

[PAT乙级] Practise 1002 写出这个数

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

PAT-乙级-1002 写出这个数

PAT乙级 1002写出这个数