图片.png
提示:闰年:能被400 正除,或能被4 整除但不能被100整除。每年1、3、5、7、8、10 、12为大月
#include <stdio.h>
#include <iostream>
using namespace std;
int fun(int year,int month,int day);
int main()
{
int year,month,day;
int m;
cin >> m;
for (int i=0;i<m;i++)
{
cin >> year >> month >> day;
cout << fun(year,month,day) <<endl;
}
return 0;
}
int fun(int year,int month,int day)
{
int num;
if (year%400==0 ||(year%4==0 && year%100!=0))//闰年
{
switch (month)
{
case 1:num=day; break;
case 2:num=day+31; break;
case 3:num=day+31+29 ; break;
case 4:num=day+31+29+31 ;break;
case 5:num=day+31+29+31+30;break;
case 6:num=day+31+29+31+30+31;break;
case 7:num=day+31+29+31+30+31+30; break;
case 8:num=day+31+29+31+30+31+30+31; break;
case 9:num=day+31+29+31+30+31+30+31+31;break;
case 10:num=day+31+29+31+30+31+30+31+31+30; break;
case 11:num=day+31+29+31+30+31+30+31+31+30+31; break;
case 12:num=day+31+29+31+30+31+30+31+31+30+31+30; break;
default:
break;
}
}
else
{
switch (month)
{
case 1:num=day; break;
case 2:num=day+31; break;
case 3:num=day+31+28 ; break;
case 4:num=day+31+28+31 ;break;
case 5:num=day+31+28+31+30;break;
case 6:num=day+31+28+31+30+31;break;
case 7:num=day+31+28+31+30+31+30; break;
case 8:num=day+31+28+31+30+31+30+31; break;
case 9:num=day+31+28+31+30+31+30+31+31;break;
case 10:num=day+31+28+31+30+31+30+31+31+30; break;
case 11:num=day+31+28+31+30+31+30+31+31+30+31; break;
case 12:num=day+31+28+31+30+31+30+31+31+30+31+30; break;
default:
break;
}
}
return num;
}
网友评论