首页 > 编程知识 正文

浙大PAT乙级 1002 写出这个数

时间:2023-05-06 21:31:55 阅读:233605 作者:3778

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

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

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

输入样例:
1234567890987654321123456789
输出样例:
yi san wu
我的代码:

#include <iostream>using namespace std;int main(){ string str1; cin >> str1; int sum = 0; for(unsigned int i = 0; i < str1.length(); i++){ sum +=(str1[i]-'0'); } int sum1 = sum; int m = 0; while(sum1){ sum1 /= 10; m++; } int a[m]; int k = 0; while (sum){ a[k] = sum % 10; sum /= 10; k++; } for(int i = k-1; i >=0; i--){ switch(a[i]){ case 0: cout << "ling" << flush; break; case 1: cout << "yi" << flush; break; case 2: cout << "er" << flush; break; case 3: cout << "san" << flush; break; case 4: cout << "si" << flush; break; case 5: cout << "wu" << flush; break; case 6: cout << "liu" << flush; break; case 7: cout << "qi" << flush; break; case 8: cout << "ba" << flush; break; case 9: cout << "jiu" << flush; break; } if ( i ){ cout << " " << flush; } } return 0;}

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。