gpt4 book ai didi

c - 如何从c中的数字中的最高有效数字开始获得不同的数字?

转载 作者:太空狗 更新时间:2023-10-29 15:17:58 24 4
gpt4 key购买 nike

我正在解决一个给出正整数的问题,我必须用文字显示它。

例如,如果一个数字是 2134,则输出应该是 "two one three four"。如果我使用模数运算符并使用递归技术,我会从最低有效数字开始获取数字,即 "four three one two"

我也可以反转数字,然后使用取模运算符,但我正在寻找更好的方法。

解决这个问题的更好方法是什么?我缺少什么概念?

最佳答案

我的简单回答:

void printNum(int x)
{
static const char * const num[] = {
"zero ", "one ", "two " , "three ", "four ",
"five ", "six ", "seven ", "eight ", "nine "
};

if (x < 10) {
printf(num[x]);
return;
}
printNum(x / 10);
printNum(x % 10);
}

编辑

经过更多的试验和调整,我想出了这个版本。我认为这是我能做出的最“纯粹”的递归函数。

void printNum(int x)
{
static const char * const num[] = {"zero ", "one ", "two ", "three ",
"four ", "five ", "six ", "seven ",
"eight ", "nine "};
(x < 10)? printf(num[x]) : (printNum(x / 10), printNum(x % 10));
}

关于c - 如何从c中的数字中的最高有效数字开始获得不同的数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16967008/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com