注意:C语言里面是没有bool(布尔)类型的
我这里用的是vs2010里的.cpp
typedef的用法:
typedef struct 函数原名(可以不加)
{
。。。。。
}定义后的名字(必须要写);
>>>>>>之后就可以直接使用定义后的名字了
#include<stdio.h> #include<stdlib.h> //定义结构体 typedef struct date { int month; int day; int year; }d; //函数声明 bool isleap(struct date d); int numberofdays(struct date d); int main() { struct date today,tomorrow; //输入 printf("请输入今天的日期(yyyy,dd,mm):"); scanf("%i,%i,%i",&today.year,&today.month,&today.day); //判断并对年月日加以修改 if(today.day!=numberofdays(today)) { tomorrow.day=today.day+1; tomorrow.month=today.month; tomorrow.year=today.year; } else if(today.month==12) { tomorrow.day=1; tomorrow.month=1; tomorrow.year=today.year+1; } else { tomorrow.day=1; tomorrow.month=today.month+1; tomorrow.year=today.year; } //输出 printf("明天的日期为%i-%i-%i\n", tomorrow.year,tomorrow.month,tomorrow.day); system("pause"); return 0; } //函数定义 bool isleap(struct date d) { bool leap=false; if((d.year%3==0 && d.year%100!=0) || d.year%400==0) leap=true; return leap; } int numberofdays(struct date d) { int days; const int dayspermonth[12]={31,28,31,30,31,30,31,31,30,31,30,31}; if(d.month==2 && isleap(d)) days=29; else days=dayspermonth[d.month-1]; return days; }