69,382
社区成员
发帖
与我相关
我的任务
分享
#include <stdio.h>
typedef struct date
{
unsigned int year;
unsigned int month;
unsigned int day;
}date, *pdate;
pdate larger(pdate dat1, pdate dat2){
if(dat1->year > dat2->year)
return dat1;
if(dat1->year < dat2->year)
return dat2;
//year equal then month
if(dat1->month > dat2->month)
return dat1;
if(dat1->month < dat2->month)
return dat2;
//month equal then day
if(dat1->day > dat2->day)
return dat1;
if(dat1->day < dat2->day)
return dat2;
//equal!
printf("equal!\n");
return dat1;
}
void display_larger(pdate dat) {
if(!dat)
return;
date mydate = {dat->year, dat->month, dat->day};
printf("larger date is : %d-%d-%d\n", mydate.year, mydate.month, mydate.day);
}
int main()
{
date a[2] = {{2004, 12, 28},{2004, 12, 29}};
display_larger(larger(&a[0], &a[1]));
return 0;
}
larger date is : 2004-12-29
typedef struct date
{
unsigned int year;
unsigned int month;
unsigned int day;
}DATE;
DATE larger(DATE date1, DATE date2)
{
if(date1.year != date2.year)
{
return date1.year>date2.year?date1:date2;
}
// 年相同
else
{
if(date1.month != date2.month )
{
return date1.month>date2.month ?date1:date2;
}
// 月相同
else
{
if(date1.day != date2.day )
{
return date1.day>date2.day?date1:date2;
}
else
{
return date1;
}
}
}
}
typedef struct car
{
unsigned int num;//车牌
unsigned int dis;//路程
unsigned int gallon;//加仑
}CAR;