拼题A:PAT (Basic Level) Practice 1002 测试点5过不去。。。
地球人GG 2019-09-12 06:45:36 题目网址:https://pintia.cn/problem-sets/994805260223102976/problems/994805324509200384
读入一个正整数 n,计算其各位数字之和,用汉语拼音写出和的每一位数字。
输入格式:每个测试输入包含 1 个测试用例,即给出自然数 n 的值。这里保证 n 小于 10100。
输出格式:在一行内输出 n 的各位数字之和的每一位,拼音数字间有 1 空格,但一行中最后一个拼音数字后没有空格。
输入样例:1234567890987654321123456789 //数字和为135
输出样例:yi san wu
#include <iostream>
using namespace std;
void print(int m);
int main()
{
char c ;
int sum = 0; //保存数字和
while((c = cin.get()) != '\n' )
sum += c - '0';
print(sum);
}
void print(int m) //用递归处理
{
if(m / 10)
{
print(m / 10); // 只要不是个位,就递归处理
cout << ' ';
}
switch(m % 10)
{
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;
}
}
测试点5过不去啊,说格式错误,然后我无法看出问题。。。