给定如下定义: 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日! 第一个日期早于第二个日期! C语言
时间: 2023-06-27 22:04:29 浏览: 95
```c
#include <stdio.h>
struct date_rec {
int day;
int month;
int year;
};
int compare_date(struct date_rec d1, struct date_rec d2) {
if (d1.year > d2.year)
return 1;
else if (d1.year < d2.year)
return -1;
else {
if (d1.month > d2.month)
return 1;
else if (d1.month < d2.month)
return -1;
else {
if (d1.day > d2.day)
return 1;
else if (d1.day < d2.day)
return -1;
else
return 0;
}
}
}
int main() {
struct date_rec d1, d2;
printf("请输入当前日期(年 月 日):");
scanf("%d%d%d", &d1.year, &d1.month, &d1.day);
printf("请输入当前日期(年 月 日):");
scanf("%d%d%d", &d2.year, &d2.month, &d2.day);
printf("当前日期:%d年%d月%d日!\n", d1.year, d1.month, d1.day);
printf("当前日期:%d年%d月%d日!\n", d2.year, d2.month, d2.day);
int result = compare_date(d1, d2);
if (result == 1)
printf("第一个日期晚于第二个日期!\n");
else if (result == -1)
printf("第一个日期早于第二个日期!\n");
else
printf("两个日期相同!\n");
return 0;
}
```
阅读全文