c语言使用结构体的一道题?

结构体功能要求可以读取年月日,然后输出下一天的日期
2025-06-27 12:01:39
推荐回答(1个)
回答1:

#include
struct DATE {
int year;
int month;
int day;
};
void push(int d[12],int*year,int*month,int*day) {
if(*day (*day)++;
else if(*day>d[(*month)-1])printf("error input!");
else if(*month<12)(*month)++,*day=1;
else (*year)++,*month=1,*day=1;
}
int main(void)
{
int d1[12]= {31,28,31,30,31,30,31,31,30,31,30,31},d2[12]= {31,29,31,30,31,30,31,31,30,31,30,31};
struct DATE before;
scanf("%d%d%d",&before.year,&before.month,&before.day);
if((before.year%4==0&&before.year%100!=0)||before.year%400==0)push(d2,&before.year,&before.month,&before.day);
else push(d1,&before.year,&before.month,&before.day);
printf("%d年%d月%d日",before.year,before.month,before.day);
return 0;
}