将输入整数转换成对应英文输出
程序代码:
#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编辑过]