一、 90分代码
#include<iostream>
using namespace std;
int main()
{
int y,d;
cin>>y>>d;
int sum=0,i,j,k=0;
if(y%400==0||(y%4==0&&y%100!=0))
{
k=1;//闰年 ,2月有29天
}
int m[12]={31,28+k,31,30,31,30,31,31,30,31,30,31};
for(i=0;i<12;i++)
{
sum=sum+m[i];
// cout<<"sum:"<<sum<<endl;
if(sum>d)
{
cout<<i+1<<endl;
cout<<d-(sum-m[i]);
break;
}
}
}
二、 原因分析
注意边界 2020 366 输出应该为 12 31
三、 100分代码
#include<iostream>
using namespace std;
int main()
{
int y,d;
cin>>y>>d;
int sum=0,i,j,k=0;
if(y%400==0||(y%4==0&&y%100!=0))
{
k=1;//闰年 ,2月有29天
}
int m[12]={31,28+k,31,30,31,30,31,31,30,31,30,31};
for(i=0;i<12;i++)
{
sum=sum+m[i];
// cout<<"sum:"<<sum<<endl;
if(sum>=d)
{
cout<<i+1<<endl;
cout<<d-(sum-m[i]);
break;
}
}
}