是否可以让字符串替换整数。例如,如果你有一个接受像23933这样的大整数的程序,你可以这样做:
int 2 =“two” int 3 =“三” int 9 =“九”
因此输出内容如下:
“两三九三三”
你会怎么做呢?
答案 0 :(得分:3)
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));
}
答案 1 :(得分:1)
使用数组
const char *ints[] = {"zero", "one", "two", "three"};
int r = rand() % (sizeof ints / sizeof *ints);
printf("%s\n", ints[r]);