文章作者:姜南(Slyar) 文章来源:Slyar Home (www.slyar.com) 转载请注明,谢谢合作。
描述 Description
CCC老师的生日是YY年MM月DD日,他想知道自己出生后第一万天纪念日的日期(出生日算第0天)。
输入格式 Input Format
从文件的第一行分别读入YY,MM,DD其中1949<=YY<=2006,日期绝对合法。
输出格式 Output Format
输出文件只有一行,即CCC老师生日第一万天以后的日期,格式为 “Y-M-D”。
Tip:疯狂的判断。。。尤其是闰年和平年对于二月的判断。。。充分利用&&和||可以简化程序。。。
另外需要注意括号配对的问题,我就因为这个卡了近半个小时。。。
#include <stdio.h>
int main(){
int y,m,d,i;
scanf("%d%d%d",&y,&m,&d);
for (i=1;i<=10000;i++){
d++;
if (d==29&&m==2&&(!((y%4==0&&y%100!=0)||(y%400==0)))){
d=1;
m++;
}
if (d==30&&m==2&&((y%4==0&&y%100!=0)||(y%400==0))){
d=1;
m++;
}
if (d==31&&(m==4||m==6||m==9||m==11)){
d=1;
m++;
}
if (d==32){
d=1;
m++;
}
if (m==13){
m=1;
y++;
}
}
printf("%d-%d-%d",y,m,d);
system("pause");
return 0;
}
转载请注明:Slyar Home » Vijos P1211 生日日数 C语言版