学会用字符数组来存。还有读取数据的细节。两个年对应的关系。
#include <iostream>
#include <cstring>
#include <cstdio>
#include <string.h>
char Haab[20][10] = {"pop", "no", "zip", "zotz", "tzec", "xul",
"yoxkin", "mol", "chen", "yax", "zac", "ceh", "mac", "kankin",
"muan", "pax", "koyab", "cumhu","uayet"};
char Tzolkin[20][15] = {"imix", "ik", "akbal", "kan", "chicchan",
"cimi", "manik", "lamat", "muluk", "ok",
"chuen", "eb", "ben", "ix", "mem", "cib",
"caban", "eznab", "canac", "ahau"};
using namespace std;
int main()
{
int n;
while(cin>>n)
{
cout<<n<<endl;
for(int i = 0 ; i <n;i++)
{
int numberOfDay,year,month;
int total = 0;
char NameOfDay[10];
cin>>numberOfDay;
getchar();
getchar();
cin>>NameOfDay;
cin>>year;
for(int i = 0; i < 20;i++)
{
if(strcmp(Haab[i],NameOfDay) == 0)
{
month = i;
}
}
total = month * 20 + 365*year + numberOfDay;
cout<<total%13+1<<" "<<Tzolkin[total%20]<<" "<<total/260<<endl;
}
}
return 0;
}