将数字转换为数组中的单词
Converting numbers to words in array
我需要将数字转换为数组中的单词,我们从键盘打印(数组也包括其他单词)
举个例子。输入文本:我有 2 个苹果。输出:我有两个 apples/How 来做?或者它是如何使用 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;
}
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;
}
考虑额外的代码来处理 back-co-back 数字。 oneone
看起来很奇怪。也许 "one one" 或 "eleven".
我需要将数字转换为数组中的单词,我们从键盘打印(数组也包括其他单词)
举个例子。输入文本:我有 2 个苹果。输出:我有两个 apples/How 来做?或者它是如何使用 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;
}
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;
}
考虑额外的代码来处理 back-co-back 数字。 oneone
看起来很奇怪。也许 "one one" 或 "eleven".