您的位置:首页 > 编程语言

已知一个日期和天数, 求多少天后的日期(是那个超时代码的AC版)

2013-08-02 15:11 218 查看
#include <stdio.h>
#include <string.h>
int judge_year(int x)
{

if(x % 400 == 0 || x % 4 == 0 && x % 100 != 0)
return 1;
else
return 0;

}
int main()
{
int year = 2000, month = 1, day = 1,sum,week,i;
int ans[12]={31,28,31,30,31,30,31,31,30,31,30,31},a[2]={365,366};
char s[7][10]={"Saturday","Sunday","Monday","Tuesday","Wednesday","Thursday","Friday"};
while(scanf("%d", &sum) && sum != -1)
{
week=sum%7;
year = 2000, month = 1, day = 1;
while(sum>=a[judge_year(year)])
{
sum-=a[judge_year(year)];
year++;
}
if(judge_year(year))
ans[1]=29;
else
ans[1]=28;
for(i=0;i<12;i++)
{
if(sum>=ans[i])
{
sum-=ans[i];
month++;
}
else
break;
}
day+=sum;
printf("%4d-%02d-%02d %s\n",year,month,day,s[week]);
}
return 0;
}


View Code

跟我的执行时间等等一样,但长度明显短了许多。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐