1002 写出这个数
Posted mit-nuannuan
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了1002 写出这个数相关的知识,希望对你有一定的参考价值。
题目:
读入一个正整数 n,计算其各位数字之和,用汉语拼音写出和的每一位数字。
输入格式:
每个测试输入包含 1 个测试用例,即给出自然数 n 的值。这里保证 n 小于10100
输出格式:
在一行内输出 n 的各位数字之和的每一位,拼音数字间有 1 空格,但一行中最后一个拼音数字后没有空格。
输入样例:
1234567890987654321123456789
输出样例:
yi san wu
将数字之和转换成字符串然后输出,也可以通过对整数取余保存各位上的数字进行匹配(改天再写吧)
#include <iostream>
#include <cstring>
#include <string>
using namespace std;
void meth(char *n){
int len = strlen(n);
int sum = 0, temp = 0;
for(int i=0; i<len; i++) {
temp = n[i] - '0';
sum += temp;
}
//cout << sum <<endl;
string s = to_string(sum);
//cout << s << endl;
//int slen = strlen(s);
int slen = s.length();
char t = '0';
for(int i=0; i<slen; i++) {
t = s[i];
//cout << t << endl;
switch(t) {
case '0': cout << "ling" ; break;
case '1': cout << "yi" ; break;
case '2': cout << "er" ; break;
case '3': cout << "san" ; break;
case '4': cout << "si" ; break;
case '5': cout << "wu" ; break;
case '6': cout << "liu" ; break;
case '7': cout << "qi" ; break;
case '8': cout << "ba" ; break;
case '9': cout << "jiu" ; break;
}
if(i != slen - 1)
cout << ' ';
}
}
int main() {
char n[100];
cin >> n;
meth(n);
return 0;
}
以上是关于1002 写出这个数的主要内容,如果未能解决你的问题,请参考以下文章