poj1008_Maya_Calendar

历法的转换。

 1 #include <stdio.h>
 2 #include <math.h>
 3 #include <string.h>
 4 char Haab[19][10]={
 5     "pop","no","zip","zotz","tzec","xul","yoxkin","mol",
 6     "chen","yax","zac","ceh","mac","kankin","muan","pax",
 7     "koyab","cumhu","uayet"
 8 };
 9 char Tzolkin[20][10]={
10     "imix","ik","akbal","kan","chicchan","cimi","manik",
11     "lamat","muluk","ok","chuen","eb","ben","ix","mem",
12     "cib","caban","eznab","canac","ahau"
13 };
14 int count(int day,char month[],int year){
15     int tot=0;
16     tot+=(day+1);
17     int i;
18     for(i=0;i<19;++i){
19         if(strcmp(month,Haab[i])==0){
20             tot+=(i*20);
21             break;
22         }
23     }
24     tot+=(year*365);
25     return tot;
26 }
27 int main(){
28     int t,i,tot;
29     int day,year;
30     int m;
31     char month[10];
32     while(~scanf("%d",&t)){
33         printf("%d
",t);
34         for(i=0;i<t;++i){
35             scanf("%d. %s %d",&day,month,&year);
36             tot=count(day,month,year);
37             m=(tot-1)%20;
38             day=(tot-1)%13;
39             day++;
40             if(day>13){
41                 day=(day%13)+1;
42             }else
43             year=(tot-1)/260;
44             printf("%d %s %d
",day,Tzolkin[m],year);
45         }
46     }
47     return 0;
48 }
原文地址:https://www.cnblogs.com/symons1992/p/3502590.html