写出这个数

写出这个数

#include
int main()
{
	char ch='0';
	int n=0;
	int sum=0;
	
	for(sum=0;(ch=getchar())!='\n';sum+=n)
	{
		n=ch-'0';
	}
	
	int k=1;
	while(sum/k>=10)
	{
		k*=10;
	}
	
	for(;k>=1;k/=10)
	{
		int m=sum/k;
		sum=sum%k;
		
		switch(m)
		{
			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");					
		}
		if(k>=10)
		{
			printf(" ");
		}
	}

	return 0;
}

遇到的问题:

	sum!=0	/*数字中间可能存在0*/	
	k>=1

你可能感兴趣的:(c语言)