2965:玛雅历
解題思路
1.分別用數組模擬Haab和Tzolkin
2.把給的輸入,轉化成離世界開始有多少天
3.計算Tzolkin
AC代碼
//計算輸入的日子離世界開始的天數 days //年*365 + yue*20 + day //計算年份 year = days / 260 days -= year*260 // 計算月份 前面的數字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); //學習了 int count;for(count=0;count<19;count++) //學習了 if(!strcmp(haab[count],month))break;//計算輸入的日子離世界開始的天數 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; }總結
1)用數組模擬
2)兩個日歷的轉換,使用中間公共的日子,例如離開始日子多少天
3)格式化輸入
4)找字符串出現在第幾個
for(count=0;count<19;count++) if(!strcmp(haab[count],month))break;總結
- 上一篇: python猴子吃桃子的问题_张含韵忍不
- 下一篇: maya2011安装方法图文详细教程及U