问题描述:求出一年中任意两天的差值
代码:
//输出一年中任意两天差值
#include<iostream>
#include<cstdio>
#include<math.h>
using namespace std;
bool isreap(int year){//判断是否为闰年
if((year%4==0&&year%100!=0)||year%400==0){
return 1;
}
else{
return 0;
}
}
int nums[2][13]={
{0,31,29,31,30,31,30,31,31,30,31,30,31},
{0,31,28,31,30,31,30,31,31,30,31,30,31}
};
int main(){
int n;
scanf("%d",&n);
while(n--){
int a[6];
for(int i=0;i<6;i++){
scanf("%d",&a[i]);
}
int choose;
if(isreap(a[0])==1){
choose=0;
}
else{
choose=1;
}
int day1=0;
int day2=0;
for(int j=1;j<=a[1];j++){
day1+=nums[choose][j];
}
day1+=a[2];
for(int j=1;j<=a[4];j++){
day2+=nums[choose][j];
}
day2+=a[5];
int dis=abs(day1-day2)+1;
printf("%d\n",dis);
}
return 0;
}