C 编程 - 用字符串替换 int?

标签 c string int

<分区>

是否可以用字符串替换整数。例如,如果您有一个程序接受像 23933 这样的大整数,您可以这样做:

int 2 = "two" int 3 = "three" int 9 = "nine"

因此输出将如下所示:

"two three nine three three"

你会怎么做?

最佳答案

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 编程 - 用字符串替换 int?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22409985/

相关文章:

C - 向用户输入添加引号

c - 如何使用 sqlite 在 C 语言中激活外键?

c - 在链接列表中存储字符串时遇到问题

javascript - JavaScript 中的兼容性测试器(字符串比较函数)

java - Java 中的 equals 字符串问题

c - 使用 Function 反转字符串并将整个字符串返回到主函数

c++ - 套接字主机名查找超时 : how to implement it?

Python,将 float 转换为整数

java - 如何从字符串中获取 Resource(int) - Android

c# - 将一个 long 转换为两个 int 以进行重构