362 lines
11 KiB
C
362 lines
11 KiB
C
|
#include <wchar.h>
|
||
|
#include <stdio.h>
|
||
|
#include <stdlib.h>
|
||
|
#include <string.h>
|
||
|
#include <locale.h>
|
||
|
|
||
|
wchar_t *numbers[301] = {
|
||
|
L"ゼロ\n",
|
||
|
L"いち\n",
|
||
|
L"に\n",
|
||
|
L"さん\n",
|
||
|
L"よん\n",
|
||
|
L"ご\n",
|
||
|
L"ろく\n",
|
||
|
L"なな\n",
|
||
|
L"はち\n",
|
||
|
L"きゅう\n",
|
||
|
L"じゅう\n",
|
||
|
L"じゅういち\n",
|
||
|
L"じゅうに\n",
|
||
|
L"じゅうさん\n",
|
||
|
L"じゅうよん\n",
|
||
|
L"じゅうご\n",
|
||
|
L"じゅうろく\n",
|
||
|
L"じゅうなな\n",
|
||
|
L"じゅうはち\n",
|
||
|
L"じゅうきゅう\n",
|
||
|
L"にじゅう\n",
|
||
|
L"にじゅういち\n",
|
||
|
L"にじゅうに\n",
|
||
|
L"にじゅうさん\n",
|
||
|
L"にじゅうよん\n",
|
||
|
L"にじゅうご\n",
|
||
|
L"にじゅうろく\n",
|
||
|
L"にじゅうなな\n",
|
||
|
L"にじゅうはち\n",
|
||
|
L"にじゅうきゅう\n",
|
||
|
L"さんじゅう\n",
|
||
|
L"さんじゅういち\n",
|
||
|
L"さんじゅうに\n",
|
||
|
L"さんじゅうさん\n",
|
||
|
L"さんじゅうよん\n",
|
||
|
L"さんじゅうご\n",
|
||
|
L"さんじゅうろく\n",
|
||
|
L"さんじゅうなな\n",
|
||
|
L"さんじゅうはち\n",
|
||
|
L"さんじゅうきゅう\n",
|
||
|
L"よんじゅう\n",
|
||
|
L"よんじゅういち\n",
|
||
|
L"よんじゅうに\n",
|
||
|
L"よんじゅうさん\n",
|
||
|
L"よんじゅうよん\n",
|
||
|
L"よんじゅうご\n",
|
||
|
L"よんじゅうろく\n",
|
||
|
L"よんじゅうなな\n",
|
||
|
L"よんじゅうはち\n",
|
||
|
L"よんじゅうきゅう\n",
|
||
|
L"ごじゅう\n",
|
||
|
L"ごじゅういち\n",
|
||
|
L"ごじゅうに\n",
|
||
|
L"ごじゅうさん\n",
|
||
|
L"ごじゅうよん\n",
|
||
|
L"ごじゅうご\n",
|
||
|
L"ごじゅうろく\n",
|
||
|
L"ごじゅうなな\n",
|
||
|
L"ごじゅうはち\n",
|
||
|
L"ごじゅうきゅう\n",
|
||
|
L"ろくじゅう\n",
|
||
|
L"ろくじゅういち\n",
|
||
|
L"ろくじゅうに\n",
|
||
|
L"ろくじゅうさん\n",
|
||
|
L"ろくじゅうよん\n",
|
||
|
L"ろくじゅうご\n",
|
||
|
L"ろくじゅうろく\n",
|
||
|
L"ろくじゅうなな\n",
|
||
|
L"ろくじゅうはち\n",
|
||
|
L"ろくじゅうきゅう\n",
|
||
|
L"ななじゅう\n",
|
||
|
L"ななじゅういち\n",
|
||
|
L"ななじゅうに\n",
|
||
|
L"ななじゅうさん\n",
|
||
|
L"ななじゅうよん\n",
|
||
|
L"ななじゅうご\n",
|
||
|
L"ななじゅうろく\n",
|
||
|
L"ななじゅうなな\n",
|
||
|
L"ななじゅうはち\n",
|
||
|
L"ななじゅうきゅう\n",
|
||
|
L"はちじゅう\n",
|
||
|
L"はちじゅういち\n",
|
||
|
L"はちじゅうに\n",
|
||
|
L"はちじゅうさん\n",
|
||
|
L"はちじゅうよん\n",
|
||
|
L"はちじゅうご\n",
|
||
|
L"はちじゅうろく\n",
|
||
|
L"はちじゅうなな\n",
|
||
|
L"はちじゅうはち\n",
|
||
|
L"はちじゅうきゅう\n",
|
||
|
L"きゅうじゅう\n",
|
||
|
L"きゅうじゅういち\n",
|
||
|
L"きゅうじゅうに\n",
|
||
|
L"きゅうじゅうさん\n",
|
||
|
L"きゅうじゅうよん\n",
|
||
|
L"きゅうじゅうご\n",
|
||
|
L"きゅうじゅうろく\n",
|
||
|
L"きゅうじゅうなな\n",
|
||
|
L"きゅうじゅうはち\n",
|
||
|
L"きゅうじゅうきゅう\n",
|
||
|
L"ひゃく\n",
|
||
|
L"ひゃくいち\n",
|
||
|
L"ひゃくに\n",
|
||
|
L"ひゃくさん\n",
|
||
|
L"ひゃくよん\n",
|
||
|
L"ひゃくご\n",
|
||
|
L"ひゃくろく\n",
|
||
|
L"ひゃくなな\n",
|
||
|
L"ひゃくはち\n",
|
||
|
L"ひゃくきゅう\n",
|
||
|
L"ひゃくじゅう\n",
|
||
|
L"ひゃくじゅういち\n",
|
||
|
L"ひゃくじゅうに\n",
|
||
|
L"ひゃくじゅうさん\n",
|
||
|
L"ひゃくじゅうよん\n",
|
||
|
L"ひゃくじゅうご\n",
|
||
|
L"ひゃくじゅうろく\n",
|
||
|
L"ひゃくじゅうなな\n",
|
||
|
L"ひゃくじゅうはち\n",
|
||
|
L"ひゃくじゅうきゅう\n",
|
||
|
L"ひゃくにじゅう\n",
|
||
|
L"ひゃくにじゅういち\n",
|
||
|
L"ひゃくにじゅうに\n",
|
||
|
L"ひゃくにじゅうさん\n",
|
||
|
L"ひゃくにじゅうよん\n",
|
||
|
L"ひゃくにじゅうご\n",
|
||
|
L"ひゃくにじゅうろく\n",
|
||
|
L"ひゃくにじゅうなな\n",
|
||
|
L"ひゃくにじゅうはち\n",
|
||
|
L"ひゃくにじゅうきゅう\n",
|
||
|
L"ひゃくさんじゅう\n",
|
||
|
L"ひゃくさんじゅういち\n",
|
||
|
L"ひゃくさんじゅうに\n",
|
||
|
L"ひゃくさんじゅうさん\n",
|
||
|
L"ひゃくさんじゅうよん\n",
|
||
|
L"ひゃくさんじゅうご\n",
|
||
|
L"ひゃくさんじゅうろく\n",
|
||
|
L"ひゃくさんじゅうなな\n",
|
||
|
L"ひゃくさんじゅうはち\n",
|
||
|
L"ひゃくさんじゅうきゅう\n",
|
||
|
L"ひゃくよんじゅう\n",
|
||
|
L"ひゃくよんじゅういち\n",
|
||
|
L"ひゃくよんじゅうに\n",
|
||
|
L"ひゃくよんじゅうさん\n",
|
||
|
L"ひゃくよんじゅうよん\n",
|
||
|
L"ひゃくよんじゅうご\n",
|
||
|
L"ひゃくよんじゅうろく\n",
|
||
|
L"ひゃくよんじゅうなな\n",
|
||
|
L"ひゃくよんじゅうはち\n",
|
||
|
L"ひゃくよんじゅうきゅう\n",
|
||
|
L"ひゃくごじゅう\n",
|
||
|
L"ひゃくごじゅういち\n",
|
||
|
L"ひゃくごじゅうに\n",
|
||
|
L"ひゃくごじゅうさん\n",
|
||
|
L"ひゃくごじゅうよん\n",
|
||
|
L"ひゃくごじゅうご\n",
|
||
|
L"ひゃくごじゅうろく\n",
|
||
|
L"ひゃくごじゅうなな\n",
|
||
|
L"ひゃくごじゅうはち\n",
|
||
|
L"ひゃくごじゅうきゅう\n",
|
||
|
L"ひゃくろくじゅう\n",
|
||
|
L"ひゃくろくじゅういち\n",
|
||
|
L"ひゃくろくじゅうに\n",
|
||
|
L"ひゃくろくじゅうさん\n",
|
||
|
L"ひゃくろくじゅうよん\n",
|
||
|
L"ひゃくろくじゅうご\n",
|
||
|
L"ひゃくろくじゅうろく\n",
|
||
|
L"ひゃくろくじゅうなな\n",
|
||
|
L"ひゃくろくじゅうはち\n",
|
||
|
L"ひゃくろくじゅうきゅう\n",
|
||
|
L"ひゃくななじゅう\n",
|
||
|
L"ひゃくななじゅういち\n",
|
||
|
L"ひゃくななじゅうに\n",
|
||
|
L"ひゃくななじゅうさん\n",
|
||
|
L"ひゃくななじゅうよん\n",
|
||
|
L"ひゃくななじゅうご\n",
|
||
|
L"ひゃくななじゅうろく\n",
|
||
|
L"ひゃくななじゅうなな\n",
|
||
|
L"ひゃくななじゅうはち\n",
|
||
|
L"ひゃくななじゅうきゅう\n",
|
||
|
L"ひゃくはちじゅう\n",
|
||
|
L"ひゃくはちじゅういち\n",
|
||
|
L"ひゃくはちじゅうに\n",
|
||
|
L"ひゃくはちじゅうさん\n",
|
||
|
L"ひゃくはちじゅうよん\n",
|
||
|
L"ひゃくはちじゅうご\n",
|
||
|
L"ひゃくはちじゅうろく\n",
|
||
|
L"ひゃくはちじゅうなな\n",
|
||
|
L"ひゃくはちじゅうはち\n",
|
||
|
L"ひゃくはちじゅうきゅう\n",
|
||
|
L"ひゃくきゅうじゅう\n",
|
||
|
L"ひゃくきゅうじゅういち\n",
|
||
|
L"ひゃくきゅうじゅうに\n",
|
||
|
L"ひゃくきゅうじゅうさん\n",
|
||
|
L"ひゃくきゅうじゅうよん\n",
|
||
|
L"ひゃくきゅうじゅうご\n",
|
||
|
L"ひゃくきゅうじゅうろく\n",
|
||
|
L"ひゃくきゅうじゅうなな\n",
|
||
|
L"ひゃくきゅうじゅうはち\n",
|
||
|
L"ひゃくきゅうじゅうきゅう\n",
|
||
|
L"にひゃく\n",
|
||
|
L"にひゃくいち\n",
|
||
|
L"にひゃくに\n",
|
||
|
L"にひゃくさん\n",
|
||
|
L"にひゃくよん\n",
|
||
|
L"にひゃくご\n",
|
||
|
L"にひゃくろく\n",
|
||
|
L"にひゃくなな\n",
|
||
|
L"にひゃくはち\n",
|
||
|
L"にひゃくきゅう\n",
|
||
|
L"にひゃくじゅう\n",
|
||
|
L"にひゃくじゅういち\n",
|
||
|
L"にひゃくじゅうに\n",
|
||
|
L"にひゃくじゅうさん\n",
|
||
|
L"にひゃくじゅうよん\n",
|
||
|
L"にひゃくじゅうご\n",
|
||
|
L"にひゃくじゅうろく\n",
|
||
|
L"にひゃくじゅうなな\n",
|
||
|
L"にひゃくじゅうはち\n",
|
||
|
L"にひゃくじゅうきゅう\n",
|
||
|
L"にひゃくにじゅう\n",
|
||
|
L"にひゃくにじゅういち\n",
|
||
|
L"にひゃくにじゅうに\n",
|
||
|
L"にひゃくにじゅうさん\n",
|
||
|
L"にひゃくにじゅうよん\n",
|
||
|
L"にひゃくにじゅうご\n",
|
||
|
L"にひゃくにじゅうろく\n",
|
||
|
L"にひゃくにじゅうなな\n",
|
||
|
L"にひゃくにじゅうはち\n",
|
||
|
L"にひゃくにじゅうきゅう\n",
|
||
|
L"にひゃくさんじゅう\n",
|
||
|
L"にひゃくさんじゅういち\n",
|
||
|
L"にひゃくさんじゅうに\n",
|
||
|
L"にひゃくさんじゅうさん\n",
|
||
|
L"にひゃくさんじゅうよん\n",
|
||
|
L"にひゃくさんじゅうご\n",
|
||
|
L"にひゃくさんじゅうろく\n",
|
||
|
L"にひゃくさんじゅうなな\n",
|
||
|
L"にひゃくさんじゅうはち\n",
|
||
|
L"にひゃくさんじゅうきゅう\n",
|
||
|
L"にひゃくよんじゅう\n",
|
||
|
L"にひゃくよんじゅういち\n",
|
||
|
L"にひゃくよんじゅうに\n",
|
||
|
L"にひゃくよんじゅうさん\n",
|
||
|
L"にひゃくよんじゅうよん\n",
|
||
|
L"にひゃくよんじゅうご\n",
|
||
|
L"にひゃくよんじゅうろく\n",
|
||
|
L"にひゃくよんじゅうなな\n",
|
||
|
L"にひゃくよんじゅうはち\n",
|
||
|
L"にひゃくよんじゅうきゅう\n",
|
||
|
L"にひゃくごじゅう\n",
|
||
|
L"にひゃくごじゅういち\n",
|
||
|
L"にひゃくごじゅうに\n",
|
||
|
L"にひゃくごじゅうさん\n",
|
||
|
L"にひゃくごじゅうよん\n",
|
||
|
L"にひゃくごじゅうご\n",
|
||
|
L"にひゃくごじゅうろく\n",
|
||
|
L"にひゃくごじゅうなな\n",
|
||
|
L"にひゃくごじゅうはち\n",
|
||
|
L"にひゃくごじゅうきゅう\n",
|
||
|
L"にひゃくろくじゅう\n",
|
||
|
L"にひゃくろくじゅういち\n",
|
||
|
L"にひゃくろくじゅうに\n",
|
||
|
L"にひゃくろくじゅうさん\n",
|
||
|
L"にひゃくろくじゅうよん\n",
|
||
|
L"にひゃくろくじゅうご\n",
|
||
|
L"にひゃくろくじゅうろく\n",
|
||
|
L"にひゃくろくじゅうなな\n",
|
||
|
L"にひゃくろくじゅうはち\n",
|
||
|
L"にひゃくろくじゅうきゅう\n",
|
||
|
L"にひゃくななじゅう\n",
|
||
|
L"にひゃくななじゅういち\n",
|
||
|
L"にひゃくななじゅうに\n",
|
||
|
L"にひゃくななじゅうさん\n",
|
||
|
L"にひゃくななじゅうよん\n",
|
||
|
L"にひゃくななじゅうご\n",
|
||
|
L"にひゃくななじゅうろく\n",
|
||
|
L"にひゃくななじゅうなな\n",
|
||
|
L"にひゃくななじゅうはち\n",
|
||
|
L"にひゃくななじゅうきゅう\n",
|
||
|
L"にひゃくはちじゅう\n",
|
||
|
L"にひゃくはちじゅういち\n",
|
||
|
L"にひゃくはちじゅうに\n",
|
||
|
L"にひゃくはちじゅうさん\n",
|
||
|
L"にひゃくはちじゅうよん\n",
|
||
|
L"にひゃくはちじゅうご\n",
|
||
|
L"にひゃくはちじゅうろく\n",
|
||
|
L"にひゃくはちじゅうなな\n",
|
||
|
L"にひゃくはちじゅうはち\n",
|
||
|
L"にひゃくはちじゅうきゅう\n",
|
||
|
L"にひゃくきゅうじゅう\n",
|
||
|
L"にひゃくきゅうじゅういち\n",
|
||
|
L"にひゃくきゅうじゅうに\n",
|
||
|
L"にひゃくきゅうじゅうさん\n",
|
||
|
L"にひゃくきゅうじゅうよん\n",
|
||
|
L"にひゃくきゅうじゅうご\n",
|
||
|
L"にひゃくきゅうじゅうろく\n",
|
||
|
L"にひゃくきゅうじゅうなな\n",
|
||
|
L"にひゃくきゅうじゅうはち\n",
|
||
|
L"にひゃくきゅうじゅうきゅう\n",
|
||
|
L"さんびゃく\n",
|
||
|
};
|
||
|
|
||
|
long offset[301];
|
||
|
|
||
|
int main(int argc, char **argv)
|
||
|
{
|
||
|
int i, n;
|
||
|
FILE *fp;
|
||
|
char *s, buf[256];
|
||
|
wchar_t wbuf[64];
|
||
|
|
||
|
#ifdef UTF8
|
||
|
setlocale(LC_ALL, "en_US.utf8");
|
||
|
#else
|
||
|
setlocale(LC_ALL, "en_US");
|
||
|
#endif
|
||
|
fp = fopen("output.txt", "w+");
|
||
|
if (fp == NULL) {
|
||
|
perror("fopen");
|
||
|
exit(1);
|
||
|
}
|
||
|
for (i = 0; i <= 300; i++) {
|
||
|
offset[i] = ftell(fp);
|
||
|
if (fputws(numbers[i], fp) == -1) {
|
||
|
perror("fputws");
|
||
|
exit(1);
|
||
|
}
|
||
|
}
|
||
|
#ifdef TESTREAD
|
||
|
fclose(fp);
|
||
|
fp = fopen("output.txt", "r");
|
||
|
#endif
|
||
|
for ( ; ; ) {
|
||
|
s = fgets(buf, 256, stdin);
|
||
|
n = atoi(buf);
|
||
|
if (s == NULL || n < 0 || n > 300)
|
||
|
break;
|
||
|
if (fseek(fp, offset[n], SEEK_SET) == -1) {
|
||
|
perror("fseek");
|
||
|
exit(1);
|
||
|
}
|
||
|
#ifdef NOFTELL
|
||
|
printf("%d: (%ld) ", n, offset[n]);
|
||
|
#else
|
||
|
printf("%d: (%ld->%ld) ", n, offset[n], ftell(fp));
|
||
|
#endif
|
||
|
fgetws(wbuf, 64, fp);
|
||
|
wcstombs(buf, wbuf, 256);
|
||
|
printf("%s", buf);
|
||
|
}
|
||
|
fclose(fp);
|
||
|
return 0;
|
||
|
}
|