前言
给定如下定义:
struct date_rec
{
int day ;
int month ;
int year ;
};
写一个函数接收两个日期,
如果两个日期相同,则返回0,
如果第一个日期晚于第二个日期,则返回1,
如果第一个日期早于第二个日期,则返回-1。
并编写main函数测试它。
**输入格式要求:"%d%d%d" 提示信息:“请输入当前日期(年 月 日):”
**输出格式要求:“当前日期:%d年%d月%d日!\n” “第一个日期晚于第二个日期!” “第一个日期早于第二个日期!” “两个日期相同!”
程序运行示例如下:
请输入当前日期(年 月 日):2012 9 10↙
请输入当前日期(年 月 日):2013 7 10↙
当前日期:2012年9月10日!
当前日期:2013年7月10日!
第一个日期早于第二个日期!
程序源码
#include <stdio.h>
#include <stdlib.h>
struct date_rec
{
int day ;
int month ;
int year ;
};
struct date_rec Tim1;
struct date_rec Tim2;
int GetTime(struct date_rec t1, struct date_rec t2);
int main()
{
int ret;
printf("请输入当前日期(年 月 日):");
scanf("%d%d%d", &Tim1.year, &Tim1.month, &Tim1.day);
printf("请输入当前日期(年 月 日):");
scanf("%d%d%d", &Tim2.year, &Tim2.month, &Tim2.day);
printf("当前日期:%d年%d月%d日!\n", Tim1.year, Tim1.month, Tim1.day);
printf("当前日期:%d年%d月%d日!\n", Tim2.year, Tim2.month, Tim2.day);
ret = GetTime(Tim1, Tim2);
if(ret == 0)
printf("两个日期相同!");
else if(ret == 1)
printf("第一个日期晚于第二个日期!");
else if(ret == -1)
printf("第一个日期早于第二个日期!");
return 0;
}
int GetTime(struct date_rec t1, struct date_rec t2)
{
if(t1.year > t2.year)
return 1;
else if(t1.year < t2.year)
return -1;
else
{
if(t1.month > t2.month)
return 1;
else if(t1.month < t2.month)
return -1;
else
{
if(t1.day > t2.day)
return 1;
else if(t1.day < t2.day)
return -1;
else
return 0;
}
}
}