看懂题意就很简单了
不懂的可以参考这个博主的解释:
#include<stdio.h>
#include<string.h>
#define M 1000000
int day[M];
char *strm[19]={"pop","no","zip","zotz","tzec","xul","yoxkin","mol","chen","yax","zac","ceh","mac","kankin","muan","pax","koyab","cumhu","uayet"};
char *ans[20]={"imix", "ik", "akbal", "kan", "chicchan", "cimi", "manik", "lamat", "muluk", "ok",
"chuen", "eb", "ben", "ix", "mem", "cib", "caban", "eznab", "canac", "ahau"};
int getm(char s[])
{
int i;
for(i=0;i<19;i++)
if(strcmp(s,strm[i])==0)
return i;
}
void main()
{
int n,i,d,y,m;
char sm[10];
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%d.",&d);
scanf("%s",sm);
scanf("%d",&y);
m=getm(sm);
day[i]=d+m*20+y*365;
}
printf("%d\n",n);
for(i=0;i<n;i++)
{
d=day[i]%13+1;
m=day[i]%20+1;
y=day[i]/260;
printf("%d %s %d\n",d,ans[m-1],y);
}
}