1 #include <stdio.h>//原来有时候结构体变量不适宜在main函数外申明 2 3 struct date_rec 4 { 5 int day; 6 int month; 7 int year; 8 }; 9 10 struct date_rec current_date; 11 12 int days_of_month[][13] = {{0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}, {0, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31} 13 }; 14 15 int is_leap(int year) 16 { 17 return ((year % 400 == 0) || ((year % 4 == 0) && (year % 100 != 0))); 18 } 19 20 void input_date(struct date_rec *current_date) 21 { 22 printf("请输入当前日期(年 月 日):"); 23 scanf("%d%d%d", ¤t_date->year, ¤t_date->month, ¤t_date->day); 24 } 25 26 void increment_date(struct date_rec *current_date) 27 { 28 current_date->day++; 29 if (current_date->day > days_of_month[is_leap(current_date->year)][current_date->month]) 30 { 31 current_date->day = current_date->day - days_of_month[is_leap(current_date->year)][current_date->month] 32 ; 33 current_date->month++; 34 if (current_date->month > 12) 35 { 36 current_date->year++; 37 current_date->month = current_date->month - 12; 38 } 39 } 40 } 41 42 void output_date(struct date_rec *current_date) 43 { 44 printf("当前日期:%d年%d月%d日!", current_date->year, 45 current_date->month, current_date->day); 46 } 47 48 int main() 49 { 50 input_date(¤t_date); 51 increment_date(¤t_date); 52 output_date(¤t_date); 53 54 return 0; 55 }
原文:http://www.cnblogs.com/xzenith/p/3633132.html