标签:tor logo editor lang 表示 return 输入数据 int include
现在有两个不同的日期,你能告诉我它们之间差几天吗?
有多行数据,每行数据包含6个数字,中间用空格分隔,每3个数字代表一个日期。
对应于输入数据,输出数据有相同的行数,每行表示对应的两个日期相差的天数。
1934 2 4 2047 11 30
2192 10 3 1921 5 8
-41572
99130
#include<stdio.h>
int js(int y,int m,int d){
int sum=d,i;
for(i=1;i<m;i++){
if((y%4==0&&y%100!=0)||y%400==0){
switch(i){
case 2: sum+=29;break;
case 4: case 6: case 9: case 11:sum+=30;break;
default: sum+=31;
}
}
else{
switch(i){
case 2: sum+=28;break;
case 4: case 6: case 9: case 11:sum+=30;break;
default: sum+=31;
}
}
}
return sum;
}
int main(){
int y1,m1,d1,y2,m2,d2;
while(scanf("%d%d%d%d%d%d",&y1,&m1,&d1,&y2,&m2,&d2)!=EOF){
int a,b,c,sum=0,i,j,sum1=0,sum2=0;
a=y1-y2;
if(a<0){
for(i=y1;i<y2;i++){
if((i%4==0&&i%100!=0)||i%400==0){
sum+=366;
}
else sum+=365;
}
sum=sum*(-1);
}
if(a>0){
for(i=y2;i<y1;i++){
if((i%4==0&&i%100!=0)||i%400==0){
sum+=366;
}
else sum+=365;
}
}
sum1=js(y1,m1,d1);
sum2=js(y2,m2,d2);
printf("%d\n",sum-sum2+sum1);
}
return 0;
}
标签:tor logo editor lang 表示 return 输入数据 int include
原文地址:https://www.cnblogs.com/czl411/p/12607457.html