任务描述
本关任务:定义一个日期结构体类型(包括年、月、日),实现输入一批日期,将日期按从大到小的顺序输出,要求各功能模块都用函数实现。
相关知识
定义日期类型:
typedef struct date { int year; int month; int day; }DATE;
定义一个日期类型数据的比较函数compdate()
如下:
int compdate(DATE a, DATE b) { // 比较两个结构体变量a,b成员的大小,根据小于、等于、大于三种情况分别返回-1、0或1 if ( a.year > b. year ) return -1; else if ( a.year < b.year ) return 1; else if( a.month > b.month ) return -1; else if( a.month < b.month ) return 1; else if( a.day > b.day ) return -1; else if( a.day < b.day ) return 1; else return 0; }
编程要求
根据提示,在右侧编辑器 Begin-End 区间补充代码,实现输入一批日期,将日期按从大到小的顺序输出。具体要求如下:
- 函数 inputarr() 根据定义的结构体,完成日期的输入;
- 函数 outputarr() 根据测试说明的输出格式,完成日期的输出;
- 函数 compdate() 比较两个日期的大小,根据小于、等于、大于三种情况分别返回 -1、0 或 1;
- 函数 swap() 实现日期的交换;
- 函数 sortdate() 对日期按从大到小进行排序。
测试说明
平台会对你编写的代码进行测试。
测试输入: 3
1968 7 23
1993 4 29
1967 11 29
输入说明: 第一行为输入的日期个数; 后面几行为日期的具体信息。
预期输出: 1967年11月29日
1968年7月23日
1993年4月29日
开始你的任务吧,祝你成功!