在C中转换输入数字字符串

Kaw*_*iKx 0 c algorithm

问题是编写一个程序,该程序从终端输入一个键入的整数,并以英语提取并显示整数的每个数字.所以,如果用户输入932,程序应该显示'九三二'..

我的算法是首先反转数字,使932变为239.现在我使用mod运算符和print来提取最后一位数字.接下来我将数字除以10,然后我再次提取最后一位数字,依此类推......

是否有其他算法(更短,更有效)?

可以提取整数的最后一位数.是否可以提取第一个数字等等?

Pav*_*ath 5

如果输入字符串fgets等,则可以跳过所有mod处理/反转

这些行上的东西(我没有错误检查,它只是一个伪代码)

char *numArray[]={"One", "Two", ....};

fgets(buffer, 80, stdin)

while ( buffer[i] )
{
    printf("%s ", numArray[buffer[i]-'0'])
    i++;
}
Run Code Online (Sandbox Code Playgroud)