满意答案
SK刮开有奖
2014.11.06
采纳率:54% 等级:12
已帮助:4665人
给人占头名了5555555 偶来个不用C自带的库函数 #include"stdio.h" int months,days; date(int year,int days) { if((year%4==0&&year%100!=0||year%400==0)&&(days>31&&days<=60)) {months=2;days-=31;} if((year%4==0&&year%100!=0||year%400==0)&&days>60) {days--;} if(days>0&&days<=31){months=1;} if(days>31&&days<=59){months=2;days-=31;} if(days>59&&days<=90){months=3;days-=59;} if(days>90&&days<=120){months=4;days-=90;} if(days>120&&days<=151){months=5;days-=120;} if(days>151&&days<=181){months=6;days-=151;} if(days>181&&days<=212){months=7;days-=181;} if(days>212&&days<=243){months=8;days-=212;} if(days>243&&days<=273){months=9;days-=243;} if(days>273&&days<=304){months=10;days-=273;} if(days>304&&days<=334){months=11;days-=304;} if(days>334&&days<=365){months=12;days-=334;} return days; } void main() { int year,month,day; printf("input year and month and day :\n"); scanf("%d%d%d",&year,&month,&day); switch(month) { case 1: days=day; break; case 2: days=31+day; break; case 3: days=59+day; break; case 4: days=90+day; break; case 5: days=120+day; break; case 6: days=151+day; break; case 7: days=181+day; break; case 8: days=212+day; break; case 9: days=243+day; break; case 10: days=273+day; break; case 11: days=304+day; break; case 12: days=334+day; break; } if(year%4==0&&year%100!=0||year%400==0) {days++;} days+=100; if(year%4==0&&year%100!=0||year%400==0) { if(days>366) {days-=366;year++;} } else { if(days>365) {days-=365;year++;} } day=date(year,days); printf("%d %d %d\n",year,months,day); }
00分享举报