c语言怎么判断日期的大小,C语言比较两个日期的早晚

这是一个C语言结构体示例程序:设计一个函数,用来比较输入的两个日期的迟早,日期定义为结构体类型。

日期包含年月日三部分,因而我们可以声明一个包含 year、month、day 三个成员的结构体 date,用来表示日期:

struct date{

int year;

int month;

int day;

};

用于比较日期 A 和 B 迟早的函数定义为:

int compare(struct date A,struct date B)

当函数返回值为 1 时表示日期 A 早于日期 B,返回值为 0 时表示日期 A 迟于或等于日期 B。显然不能对两个结构体对象 A、B 直接进行比较,而要按照其成员的具体时间意义逐个进行比较处理。如果 A 的年份成员 A.year 小于 B 的年份成员 B.year,则日期 A 比较早,函数返回 1;当 A、B 的年份成员 year 相同时,则比较其月份成员 month;当年份成员 year和月份成员 month 都相同时,则比较日期成员 day。

代码清单 1:按(1970-6-1)格式输入两个日期,比较迟早

#include

#include

struct date{ //声明结构体date用于表示日期

int year;

int month;

int day;

};

/*--自定义函数:比较两个日期A和B,A早则返回1,否则返回0--*/

int compare(struct date A,struct date B){

if(A.year

return 1;

if(A.year==B.year && A.month

return 1;

if(A.year==B.year && A.month==B.month && A.day

return 1;

return 0;

}

/*--主函数--*/

int main()

{

struct date x,y; //定义两个date结构体对象x和y

printf("输入日期X(yyyy-mm-dd):");

scanf("%d-%d-%d",&x.year,&x.month,&x.day);

printf("输入日期Y(yyyy-mm-dd):");

scanf("%d-%d-%d",&y.year,&y.month,&y.day);

if(compare(x,y))

printf("日期X比较早!");

else

printf("日期Y比较早!");

system("pause");

return 0;

}

运行结果为:

输入日期X(yyyy-mm-dd):2019-08-14

输入日期Y(yyyy-mm-dd):1996-06-02

日期Y比较早!

  • 1
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值