zoukankan      html  css  js  c++  java
  • 把数字用拼音表示并输出

    #include<stdio.h>
    #include<math.h>
    //这个程序虽然是我写的,但是它设计的的确很2B。 我觉得不写注释,过段时间我自己都不知道自己写的什么。
    //测试用例 0 ,123121123,-123121256,1000 ,10023,543000. 
    int main()
    {
    	int num = 0;
    	int a = 0;
    	
    	scanf("%d",&num);
    	if(num < 0)		//
    	{
    		printf("fu ");
    		num = abs(num);
    	}
    	if(num == 0)
    	{
    		printf("ling");
    		return 0;
    	} 
    	int num_ = 0;
    	int flag = 0;		
    	int b = num;
    	for(int i = 0; 0 != b ;i++)		//检测数字的位数。
    	{
    		b /= 10;
    		flag++;
    	}
    	for(int i = flag - 1; 0 != num; i--)	//将数字倒过来
    	{
    		num_ += pow(10,i) * (num % 10);
    		num /= 10;
    	}
    	for(int i = 0; 0 != num_ || flag; i++)//这里中间的判断使用把100倒过来变成1,输出会出错的问题给解决了。
    	{
    		a = num_ % 10;		//这里是每次去分离最低位数字,所以必须在前面把数字给倒过来。
    		switch(a)		//将数字倒过来存在这样一个问题,100——会被变成1,这样无法输出正确结果。
    		{
    			case 0:
    			{
    				printf("ling");
    				break;
    			}
    			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;
    			}
    		}
    		num_ /= 10;
    		flag--;
    		if(0 != flag)		//解决输出格式问题
    		{
    			printf(" ");
    		}
    	}
    	return 0;
    }

  • 相关阅读:
    既然选择了远方,就只顾风雨兼程!
    slots
    面向对象
    模块和作用域
    偏函数
    python中decorator
    返回函数
    filter, sort
    map/reduce
    开发步骤
  • 原文地址:https://www.cnblogs.com/zy666/p/10504320.html
Copyright © 2011-2022 走看看