写出这个数

原创 2016年05月30日 22:36:03

描述:

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

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

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

输入样例:

1234567890987654321123456789

输出样例:

yi san wu

分析:通过对输入数字进行接收存入一个字符数组中,随后将其转换为十进制数并求和,由推算可知该和不超过三位数,因而对该数进行拆分,求出个位、十位和百位上的数,并通过switch语句控制输出的格式。

代码如下:

#include<iostream>
#include <cstring>
using namespace std;
void change_tostring(int);//函数的声明  
int main()
{
	
	char d[100];
        int i,num,t;
	num=0;//num为送输入的数字的各个位数之和  
	t=0;
	gets(d);//用以读取整行数字  
	for(i=0;i<strlen(d);i++)
	num=num+d[i]-48;//将输入的字符串型的数字变成十进制数字  
	int a=num%10;//求个位 
	int b=(num/10)%10;//求十位 
	int c=num/100;//求百位  
	if(c!=0)//确保百位数不为0
	{
		change_tostring(c);
		cout<<" ";	
	}
	change_tostring(b);
	cout<<" ";
	change_tostring(a);
	
}
void change_tostring(int n)//函数的定义  
	{
		switch (n) {
	    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;
	    default:
	        break;
	    }
	}




                    

相关文章推荐

1002. 写出这个数 (20)

1002. 写出这个数 (20) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B ...

PAT-1002B 写出这个数 (20)

考试算是告一段落了,好久没有写代码了。。。看着博客都觉得很陌生,从头开始吧 加油!为了offer拼了 ps:太水的题目我就不放了。 1002. 写出这个数 (20) ...

1002. 写出这个数 (20)

读入一个自然数n,计算其各位数字之和,用汉语拼音写出和的每一位数字。 输入格式:每个测试输入包含1个测试用例,即给出自然数n的值。这里保证n小于10100。 输出格式:在一行内输出n的各位...

pat 1002. 写出这个数 (20)

pat 1002. 写出这个数 (20)

1002. 写出这个数 (20)

读入一个自然数n,计算其各位数字之和,用汉语拼音写出和的每一位数字。 输入格式:每个测试输入包含1个测试用例,即给出自然数n的值。这里保证n小于10100。 输出格式:在一行内输出n的各位...
  • M_Eve
  • M_Eve
  • 2017年05月25日 16:45
  • 173

PAT 1002. 写出这个数 (20)

思路:一个基本数据类型显然盛不下10^100这么大的数,所以,首先用一个string接收输入,然后转化成int数组,求出sum,最后case即可,代码如下: #include"iostream" ...
  • iking83
  • iking83
  • 2016年05月08日 17:11
  • 262

1002. 写出这个数 (20)

读入一个自然数n,计算其各位数字之和,用汉语拼音写出和的每一位数字。 输入格式:每个测试输入包含1个测试用例,即给出自然数n的值。这里保证n小于10100。 输出格式:在一行内输出n的各位数字之和...

PAT乙级.1002. 写出这个数 (20)

1002. 写出这个数 (20)题目:读入一个自然数n,计算其各位数字之和,用汉语拼音写出和的每一位数字。 输入格式: 每个测试输入包含1个测试用例,即给出自然数n的值。这里保证n小于10^100...

黑马程序员—OC基础--写出形参个数可变的方法

------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------  /***********  *   今天进行了“形参个数可变的方法”的学习.收获如...
  • Lyan__
  • Lyan__
  • 2015年05月26日 14:40
  • 163

B1002. 写出这个数 (20')

读入一个自然数n,计算其各位数字之和,用汉语拼音写出和的每一位数字。 输入格式:每个测试输入包含1个测试用例,即给出自然数n的值。这里保证n小于10100。 输出格式:在一行内输出n的各位数字...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:写出这个数
举报原因:
原因补充:

(最多只允许输入30个字)