十二支は12年周期
西暦を12で割った時に余りがないのが申(さる)
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main(){
char buf[128],eto[32];
int yy;
printf("あなたは西暦何年生まれですか?");
fflush(stdin);
gets(buf);
yy=atoi(buf);
switch(yy % 12){
case 0: strcpy(eto,"申(さる)");break;
case 1: strcpy(eto,"酉(とり)");break;
case 2: strcpy(eto,"戌(いぬ)");break;
case 3: strcpy(eto,"亥(い)");break;
case 4: strcpy(eto,"子(ね)");break;
case 5: strcpy(eto,"丑(うし)");break;
case 6: strcpy(eto,"寅(とら)");break;
case 7: strcpy(eto,"卯(う)");break;
case 8: strcpy(eto,"辰(たつ)");break;
case 9: strcpy(eto,"巳(み)");break;
case 10: strcpy(eto,"午(うま)");break;
case 11: strcpy(eto,"未(ひつじ)");break;
}
printf("%s年生まれのあなたの十二支は%sです。",buf, eto);
return 0;
}
$ ./main
あなたは西暦何年生まれですか?1990
1990年生まれのあなたの十二支は午(うま)です。