干支(えと)の換算


関数名
eto  西暦年号からその干支を算出する
形式
void eto(char *kan, char *shi, int year);
引数
kan   (出力)干支の十干を表す ASCIZ文字列、
              配列の大きさは3文字以上
shi   (出力) 干支の十二支を表す ASCIZ文字列、
              配列の大きさは3文字以上
year  (入力)西暦年号
関数値
なし
注意事項
・干支の十干
甲、乙、丙、丁、戊、己、庚、辛、壬、癸
・干支の十二支
子(ね)、丑(牛)、寅(とら)、卯(う)、辰(たつ)、巳(み)、
午(うま)、未(ひつじ)、申(さる)、酉(とり)、戌(いぬ)、亥(い)

用例(eto-test.c
char kan[3], shi[3];
eto(kan, shi, year);

プログラム(eto.c
void eto(char *kan, char *shi, int year)
{
    static char *k[10] = {"甲","乙","丙","丁","戊","己","庚","辛","壬","癸" };
    static char *s[12] = {"子","丑","寅","卯","辰","巳","午","未","申","酉","戌","亥" };

    if (year < 4) 
        year = 4;
    strcpy(kan, k[(year - 4) % 10]);
    strcpy(shi, s[(year - 4) % 12]);
}
説明

関連関数