牛客 前天是哪天
给定公元2000到3000年之间的某一天,请给出该天的前一天是哪天。
输入格式year-mm-dd
输出格式year-mm-dd
(四个y不让打出来,用year代替了)
java写的
你可以看下这个思路
#include<stdio.h>
int p[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
int r[13]={0,31,29,31,30,31,30,31,31,30,31,30,31};
int k[12]={12,1,2,3,4,5,6,7,8,9,10,11};
char week[7][10]={{"Monday"},{"Tuesday"},{"Wednesday"},{"Thursday"},{"Friday"},{"Saturday"},{"Sunday"}};
int isrunnian(int year){
if(year%4==0&&year%100!=0||year%400==0)
return 1;
else
return 0;
}
int main(){
int year,month,day,a,b,c,w;
scanf("%d-%d-%d",&year,&month,&day);
day-=2;
if(day<=0){
if(isrunnian(year))
day+=r[k[month-1]];
else
day+=p[k[month-1]];
month--;
if(month==0){
month=12;
year--;
}
}
printf("%04d-%02d-%02d\n",year,month,day);
}
闰年,闰月