文章
1
粉丝
0
获赞
0
访问
17
#include<stdio.h>
const int x[12]={31,28,31,30,31,30,31,31,30,31,30,31};
const int y[12]={31,29,31,30,31,30,31,31,30,31,30,31};
typedef struct time{//时间结构体
int y,m,d;
}time;
int IsR(int y){//判断是否是闰年
if(y%4==0&&y%100!=0)
return 1;
else if(y%400==0)
return 1;
else
return 0;
}
int IsValue(time a){//判断是否合法
if(a.m<1||a.m>12||a.d<1)
return 0;
else if(IsR(a.y)&&a.d>y[a.m-1])
return 0;
else if(!IsR(a.y)&&a.d>x[a.m-1])
return 0;
else
return 1;
}
int SumD(time a){//计算该日期在当年的第几天,返回所在年份的第几天
int sum=0;
if(IsR(a.y)){
for(int i=1;i<a.m;i++){
sum+=y[i-1];
}
}
else{
for(int i=1;i<a.m;i++){
sum+=x[i-1];
}
}
sum+=a.d;
return sum;
}
int Cha(time a,time b){//计算差值,b一定大于a
int sum=0,i;
if(a.y==b.y)return SumD(b)-SumD(a);
for(i=b.y;i>a.y;i--){
sum+=IsR(i)?366:365;
}
sum=sum-SumD(a)+SumD(b);
return sum;
}
int main(){
time a[2];
int n,m...
登录后发布评论
暂无评论,来抢沙发