一个模拟题,要求对日历进行转换
代码:
#include<cstdio>
#include<cstring>
#include<iostream>
#include<string>
using namespace std;
string m1[19]={"pop","no", "zip", "zotz", "tzec", "xul", "yoxkin", "mol", "chen", "yax", "zac", "ceh", "mac", "kankin", "muan", "pax", "koyab", "cumhu","uayet"};
string m2[20]={"imix", "ik", "akbal", "kan", "chicchan", "cimi", "manik", "lamat", "muluk", "ok", "chuen", "eb", "ben", "ix", "mem", "cib", "caban", "eznab", "canac", "ahau"};
int main()
{
int n;
while(scanf("%d",&n)!=EOF)
{
printf("%d\n",n);
int year,day;
char ch;
string mm;
for(int i=0;i<n;i++)
{
cin>>day>>ch>>mm>>year;
int index;
for(int i=0;i<19;i++)
if(mm==m1[i])
{
index=i;
break;
}
int sum=year*365+index*20+day;
int ansyear=sum/260;
int ita=sum%20;
int itb=sum%13+1;
string ansmm=m2[ita];
int ansday=itb;
cout<<ansday<<' '<<ansmm<<' '<<ansyear<<endl;
}
}
return 0;
}