C/C++の宿題を片付けます 81代目
■ このスレッドは過去ログ倉庫に格納されています
0511デフォルトの名無しさん
2007/01/19(金) 18:59:43#include <stdio.h>
#define KEIO "慶応"
#define MEIJI "明治"
#define TAISHO "大正"
#define SHOWA "昭和"
#define HEISEI "平成"
#define output(g, y) (y == 1 ? printf("%s元年\n", (g)) : printf("%s%d年\n", (g), (y)))
int main(void) {
int y;
scanf("%d", &y);
if(y < 1868 || 2006 < y) return 1;
if(y == 1868) output(KEIO, 3), output(KEIO, 4), output(MEIJI, 1);
else if(y <= 1872) output(MEIJI, y - 1868), output(MEIJI, y - 1867);
// ここまで天保暦
else if(y <= 1911) output(MEIJI, y - 1867);
else if(y == 1912) output(MEIJI, 45), output(TAISHO, 1);
else if(y <= 1925) output(TAISHO, y - 1911);
else if(y == 1926) output(TAISHO, 15), output(SHOWA, 1);
else if(y <= 1988) output(SHOWA, y - 1925);
else if(y == 1989) output(SHOWA, 64), output(HEISEI, 1);
else output(HEISEI, y - 1988);
return 0;
}
■ このスレッドは過去ログ倉庫に格納されています