1002. 写出这个数 (20)

1002. 写出这个数 (20)

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

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

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

输入样例:

1234567890987654321123456789

输出样例:

yi san wu


代码:

#include

#include

#include

using namespace std;

void Function(){

   map mymap;

  mymap['0'] = "ling";

  mymap['1'] = "yi";

  mymap['2'] = "er";

  mymap['3'] = "san";

  mymap['4'] = "si";

  mymap['5'] = "wu";

  mymap['6'] = "liu";

  mymap['7'] = "qi";

  mymap['8'] = "ba";

  mymap['9'] = "jiu";

  string n, g;

  int sum = 0;

  cin >> n;

  for (int i = 0; i < n.length(); i++){

    sum += n[i] - '0';

  }

  g = to_string(sum);

  int i = 0;

  for (; i < g.length()-1; i++){

    cout << mymap[g[i]]<<" ";

  }

  cout << mymap[g[i]];

}

int main(){

  Function();

  return 0;

}

你可能感兴趣的:(1002. 写出这个数 (20))