将数字转换为数组中的单词

问题描述 投票:0回答:2

我需要将数字转换为数组中的单词,我们可以从键盘上打印出来(数组中也包含其他单词)

例如。输入文字:我有2个苹果。输出:我有两个苹果/如何做?或者如何使用itoa编写?

#include <stdio.h>
#include <stdlib.h>
#define MAX 170
int main(void) {
    const char* fkr[10] = { "zero" ,"one", "two", "three", "four", "five", "six","seven","eight","nine" };
    char* fk, ar;
    char afk[MAX] = {};
    gets_s(afk);
    return 0;
}
c arrays pointers converters
2个回答
0
投票

您可以找到here一个简单的程序,它将数字转换为单词。它基于具有10种情况(从0到9)的开关,这非常简单。如果您需要更复杂的东西,以将数字而不是数字转换成单词,请查看here


0
投票

OP在正确的轨道上。

在输入的每个char中查找数字,并在需要时用文本替换。找到数字后,使用它- '0'索引数字数组。

#include <stdio.h>
#include <stdlib.h>
#define MAX 170

int main(void) {
  const char* fkr[10] = { "zero" ,"one", "two", "three", "four",
      "five", "six","seven","eight","nine" };
  char* fk;
  char afk[MAX];
  if (fgets(afk, sizeof afk, stdin)) {
    char *fk = afk;
    while (*fk) {
      if (*fk >= '0' && *fk <= '9') {
        fputs(fkr[*fk - '0'], stdout);
      } else {
        putchar(*fk);
      }
      fk++;
    }
  } 
  return 0;
}

考虑其他代码以处理后向-后向数字。 oneone看起来很奇怪。也许是“一个”或“十一”。

© www.soinside.com 2019 - 2024. All rights reserved.