1008.cpp

来自「北大ACM题库中的部分已AC题目源码(1001」· C++ 代码 · 共 51 行

CPP
51
字号
#include<iostream>
using namespace std;

typedef struct HA
{
	int day;
	char month[7];
	int year;
}HAAB;
int main()
{
	int N,i,j,k;
	char str[20];
	char strtemp[20];
	char HaabMonth[18][7]={"pop","no","zip", "zotz", "tzec", "xul", "yoxkin", "mol", "chen", "yax", "zac", "ceh", "mac", "kankin", "muan", "pax", "koyab", "cumhu"};
	char HollyMonth[20][10]={"ahau","imix", "ik","akbal","kan","chicchan","cimi","manik","lamat","muluk","ok","chuen","eb","ben","ix","mem","cib","caban","eznab","canac"};
	HAAB* Haab;
	int days;
	int year;
	int daynumber;
	int dayname;
	cin>>N;
	getchar();
	Haab=new HAAB[N];
	for(i=0;i<N;i++)
	{
		scanf("%d.%s%d",&Haab[i].day,Haab[i].month,&Haab[i].year);
	}
	cout<<N<<endl;
	for(i=0;i<N;i++)
	{
		for(j=0;j<18;j++)
		{
			if(strcmp(Haab[i].month,HaabMonth[j])==0)
				break;
		}
		days=Haab[i].year*365+j*20+Haab[i].day+1;
		if(days%260==0)
			year=days/260-1;
		else
			year=days/260;
		daynumber=days%13;
		dayname=days%20;
		if(daynumber==0)
			cout<<13<<" ";
		else
			cout<<daynumber<<" ";
		cout<<HollyMonth[dayname]<<" "<<year<<endl;
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?