1. 首页
  2. 技术
  3. 后台

C语言数字编码化输出(switch-case)

/*题目内容:你的程序要读入一个整数,范围是[-100000,100000]。然后,用汉语拼音将这个整数的每一位输出出来。
如输入1234,则输出:yi er san si

注意,每个字的拼音之间有一个空格,但是最后的字后面没有空格。当遇到负数时,在输出的开头加上“fu”,如-2341输出为:
fu er san si yi

输入格式:一个整数,范围是[-100000,100000]。

输出格式:表示这个整数的每一位数字的汉语拼音,每一位数字的拼音之间以空格分隔,末尾没有空格。

输入样例:-30

输出样例:fu san ling*/
#include <stdio.h>
#include <math.h>
#include <stdlib.h>

int main() {

    int info,i,var,count=0,var_1,var_2,COUNT;
	scanf("%d",&info);
    var=info;//变量寄存
	//量取数字位数
	while(info){count++;
	            info/=10;
	}

    //条件前缀
	if (var<0)printf("fu ");
	if (var==0){printf("ling");return 0;}
	var=abs(var);//取绝对值

    var_1=var/10;
	COUNT=count-1;

	while(COUNT--){
		
	switch(i=var_1/(int)pow(10,COUNT)){

				  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;
				  default:break;
		}
	 
	var_1=var_1%(int)pow(10,COUNT);
    printf(" ");//循环一次输出一空格
    
	}

	//控制空格后一个数
	var_2=var%10;
	switch(var_2){

				  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;
				  default:break;
		}
	
	//printf("%c",8);//ASCll退格符
	return 0;
}

捕获.PNG (上传于2020-03-22 20:35:32)


C语言数字编码化输出(switch-case)

原创文章,作者:yu1776151787的博客,如若转载,请注明出处:https://www.zengqueling.com/c%e8%af%ad%e8%a8%80%e6%95%b0%e5%ad%97%e7%bc%96%e7%a0%81%e5%8c%96%e8%be%93%e5%87%baswitch-case/

联系我们

15602395067

在线咨询:点击这里给我发消息

邮件:eden7@qq.com

工作时间:周一至周五,9:30-18:30,节假日休息

QR code