//出生那天也算一天!!!!!! 这题写了一个小时!!!!汗!!!!! #include <iostream> using namespace std; int nian(int x) { if(x%400 == 0|| (x%100!=0&&x%4==0)) return 1; else return 0; } int main() { int m; int a[40] = {246}; for(int i = 1; i < 30;i++) if(nian(1977+i)) a[i] = 366; else a[i] = 365; //for(int i = 1;i < 30; i++) // cout << a[i] << ‘ ‘; int year,yue,day; int s[12] = {31,0,31,30,31,30,31,31,30,31,30,31}; cin >> m; for(int i = 0; i < 30; i++) { if(m <= a[i]) { year= i; if(nian(1777+i)) s[1] = 29; else s[1] = 28; for(int i = 0; i < 12 ; i++) if(m > s[i]) m = m -s[i]; else if(m <= s[i]) { yue = i+1; day = m; break; } break; //找到就退出 } else m = m - a[i]; // cout << m << ‘ ‘; } cout << year+1777 <<‘ ‘ << yue << ‘ ‘ << day << endl; system("pause"); return 0; }
原文:http://www.cnblogs.com/ekinzhang/p/4371313.html