PAT 乙级 1002 写出这个数

  • Post author:
  • Post category:其他


1002 写出这个数 (20)(20 分)

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


输入格式:

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


输出格式:

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


输入样例:

1234567890987654321123456789


输出样例:

yi san wu

代码:

#include <stdio.h>
void printf1(int sum)
{
	if(!(sum/10))
		switch (sum%10)
		{
			case 1:
				printf("yi");break;
			case 2:
				printf("er");break;
			case 3:
				printf("san");break;
			case 4:
				printf("si");break;
			case 5:
				printf("wu");break;
			case 6:
				printf("liu");break;
			case 7:
				printf("qi");break;
			case 8:
				printf("ba");break;
			case 9:
				printf("jiu");break;
			case 0:
				printf("ling");break;
		}
	else
		printf1(sum/10);
	if(sum>10)
		switch (sum%10)
		{
			case 1:
				printf(" yi");break;
			case 2:
				printf(" er");break;
			case 3:
				printf(" san");break;
			case 4:
				printf(" si");break;
			case 5:
				printf(" wu");break;
			case 6:
				printf(" liu");break;
			case 7:
				printf(" qi");break;
			case 8:
				printf(" ba");break;
			case 9:
				printf(" jiu");break;
			case 0:
				printf(" ling");break;
		}
}
int main(int argc, char* argv[])
{
	char ch;
	int sum=0;
	for(;(ch=getchar())!='\n';)
		sum+=ch-'0';
	printf1(sum);
	return 0;
}



版权声明:本文为zpjlkjxy原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。