将输入整数转换成对应英文输出
程序代码:#include <stdio.h>
#include <math.h>
int main ()
{
int num,j,n=0,temp;
printf ("enter a num :\n") ;
scanf ("%d",&num) ;
temp = num ; //求输入数的位数
while (temp != 0)
{
temp = temp/10 ;
n++ ;
}
while (num != 0) //求每一位数
{
n-- ;
j = (int)(num/pow(10,n)) ;
num = num-(int)(num/pow(10,n))*pow(10,n);
switch (j) //输出对应英文
{
case 0 : printf ("zero "); break ;
case 1 : printf ("one ") ; break ;
case 2 : printf ("two ") ; break ;
case 3 : printf ("three ");break ;
case 4 : printf ("four ") ;break ;
case 5 : printf ("five ") ;break ;
case 6 : printf ("six ") ; break ;
case 7 : printf ("seven ");break ;
case 8 : printf ("eight ");break ;
case 9 : printf ("nine ") ;break ;
default: break ;
}
}
return 0 ;
}
前几个数都对的,最后一位数总是比实际值小一
,请问一下是为啥呀?[此贴子已经被作者于2018-7-15 18:10编辑过]


