#include<stdio.h> int isLeap( int year ) { int flag = 0; if( (0 == year%400) || ((0 == year%4) && (0 != year%100)) ) flag = 1; if( 1 == flag ) return 1; return 0; } int main() { int year, month, day; int DayNum ; int i; int NonLeap[13] = {0,31,28,31,30,31,30,31,31,30,31,30,31}; //保存平闰年月份对应的天数,用于查表 int Leap[13] = {0,31,29,31,30,31,30,31,31,30,31,30,31}; while ((scanf("%d %d %d", &year, &month, &day)) != EOF ) { //实现输入多组数据 以EOF停止输入 DayNum = 0; if( ((0==isLeap(year)) && (day>NonLeap[month])) || ((1==isLeap(year)) && (day>Leap[month])) ) printf("Illegal\n"); else { if( 0 == isLeap(year) ) { for( i=1; i<month; i++ ) DayNum += NonLeap[i]; DayNum += day; } else { for( i=1; i<month; i++ ) DayNum += Leap[i]; DayNum += day; } printf("%d\n", DayNum); } } return 0; }