當(dāng)前位置:
首頁 >
2965:玛雅历
發(fā)布時間:2023/12/18
28
豆豆
解題思路
1.分別用數(shù)組模擬Haab和Tzolkin
2.把給的輸入,轉(zhuǎn)化成離世界開始有多少天
3.計算Tzolkin
AC代碼
//計算輸入的日子離世界開始的天數(shù) days //年*365 + yue*20 + day //計算年份 year = days / 260 days -= year*260 // 計算月份 前面的數(shù)字num+1 num= days % 13 holly[days%20] #include<stdio.h> #include<string.h> int main(){char haab[19][10] = {"pop","no","zip","zotz","tzec","xul","yoxkin","mol","chen","yax","zac","ceh","mac","kankin","muan","pax","koyab","cumhu","uayet"}; //一年365 char holly[20][10]={"imix", "ik", "akbal", "kan","chicchan", "cimi", "manik", "lamat","muluk", "ok", "chuen", "eb", "ben", "ix","mem", "cib", "caban", "eznab", "canac", "ahau"};//一年260天int n;int date,year,days;char month[10];scanf("%d",&n);printf("%d\n",n);for(int i=0;i<n;i++){scanf("%d. %s %d",&date,month,&year); //學(xué)習(xí)了 int count;for(count=0;count<19;count++) //學(xué)習(xí)了 if(!strcmp(haab[count],month))break;//計算輸入的日子離世界開始的天數(shù) days days = year*365+count*20+date;//計算Tzolkinint tyear = days / 260;days -= tyear*260;int num = days %13;int mon = days %20;printf("%d %s %d\n",num+1,holly[mon],tyear);} return 0; }總結(jié)
1)用數(shù)組模擬
2)兩個日歷的轉(zhuǎn)換,使用中間公共的日子,例如離開始日子多少天
3)格式化輸入
4)找字符串出現(xiàn)在第幾個
for(count=0;count<19;count++) if(!strcmp(haab[count],month))break;總結(jié)
- 上一篇: python猴子吃桃子的问题_张含韵忍不
- 下一篇: python基础题目练习,购买猕猴桃