写出这个数

原创 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)

#include #include #include using namespace std; int main() { int n=0; char ch; string st; sta...

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

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

我是如何成为一名python大咖的?

人生苦短,都说必须python,那么我分享下我是如何从小白成为Python资深开发者的吧。2014年我大学刚毕业..

1002. 写出这个数 (20)

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

pat 1002. 写出这个数 (20)

pat 1002. 写出这个数 (20)

1002. 写出这个数 (20)

PAT (Basic Level) Practise (中文) 1002. 写出这个数 (20)读入一个自然数n,计算其各位数字之和,用汉语拼音写出和的每一位数字。

1002. 写出这个数 (20)

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

1002. 写出这个数 (20)

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

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

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

1002. 写出这个数 (20)

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

1002. 写出这个数 (20)

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

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