文章
10
粉丝
0
获赞
37
访问
662
累加月份
#include<stdio.h>
typedef struct ymd{
int year, month, day;
}ymd;
void ji(ymd *n, char ymd1[]){
n->year=(ymd1[0]-'0')*1000+(ymd1[1]-'0')*100+(ymd1[2]-'0')*10+(ymd1[3]-'0');
n->month=(ymd1[4]-'0')*10+(ymd1[5]-'0');
n->day=(ymd1[6]-'0')*10+(ymd1[7]-'0');
}
int run(int n){
if((n%4==0 && n%100!=0) || (n%400==0))
return 1;
return 0;
}
int main(){
char ymd1[9], ymd2[9];
while(~scanf("%s %s",ymd1,ymd2)){
ymd n1, n2;
ji(&n1,ymd1);
ji(&n2,ymd2);
int ny=n1.year;
int nm=n1.month;
int sum=0;
int data[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
while(ny<n2.year || nm<n2.month){
if(nm==13){
nm=1;
ny++;
}
sum+=data[nm];
if(nm==2 && run(ny))
sum++;
nm++;
}
sum-=n1.day;
sum+=n2.day+1;
printf("%d\n", sum);
}
return 0;
}
登录后发布评论
暂无评论,来抢沙发