求前天的题目?请问哪里错了?

给定公元2000年到公元3000年之间的某一天,请你给出该天的前天是哪一天.

#include<stdio.h>

int main(){

int y,m,d;

scanf("%d %02d %02d\n",&y,&m,&d);

switch(m){

case 2:

case 8:

case 4:

case 6:

case 9:

case 11:{if(d==1)

printf("%d-%02d-%d",y,m-1,30);

else if(d==2)

printf("%d-%02d-%d",y,m-1,31);

else

printf("%d-%02d-%02d",y,m,d-2);

break;

}

case 7:

case 10:

case 12:{if(d==1)

printf("%d-%02d-%d",y,m-1,29);

else if(d==2)

printf("%d-%02d-%d",y,m-1,30);

else

printf("%d-%02d-%02d",y,m,d-2);

break;

}

case 3:{if(y%400==0||y%4==0&&!(y%100==0)){

if(d==1)

printf("%d-%02d-%d",y,m-1,28);

else if(d==2)

printf("%d-%02d-%d",y,m-1,29);

else

printf("%d-%02d-%02d",y,m,d-2);

break;}

else{

if(d==1)

printf("%d-%02d-%d",y,m-1,27);

else if(d==2)

printf("%d-%02d-%d",y,m-1,28);

else

printf("%d-%02d-%02d",y,m,d-2);

break;

}

}

case 1:{if(d==1)

printf("%d-%02d-%d",y-1,12,29);

else if(d==2)

printf("%d-%02d-%d",y-1,12,30);

else

printf("%d-%02d-%02d",y,m,d-2);

break;

}

}

return 0;

}

全部评论

相关推荐

07-17 11:27
门头沟学院 Java
点赞 评论 收藏
分享
06-12 16:23
已编辑
小米_软件开发(准入职员工)
点赞 评论 收藏
分享
写不来代码的小黑:这么小的城市能有做it的公司也不容易
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务