第几天2000年1月1日是那一年的第一天,那么2000年5月4日是那一年的第几天?(属于个人方法,不是最佳方法,主要是思路)
#include"iostream"
using namespace std;
int pdrn(int year){
if(year%4==0&&year%100!=0||year%400==0){ //闰年1 平年0
return 1;
}
else return 0;
}
int main(){
int month[13]={0,31,29,31,30,31,30,31,31,30,31,30,31};
int month1[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
int year;
int mon;
int day;
int sum;
cin>>year>>mon>>day;
for(int j=2000;j<year+1;j++){
if(pdrn(j)==1&&j!=year){
for(int i=1;i<13;i++){
sum+=month[i];
}
}
else if(pdrn(j)==1&&j==year){
for(int i=1;i<mon;i++){
sum+=month[i];
}
}
if(pdrn(j)==0&&j!=year){
for(int i=1;i<13;i++){
sum+=month1[i];
}
}
else if(pdrn(j)==0&&j==year){
for(int i=1;i<mon;i++){
sum+=month1[i];
}
}
}
sum+=day;
cout<<sum;
}