#include<stdio.h>
int main(void)
{
int year = 0; //输入年份
int month = 0; //输入月份
int day = 0; //输入日期
int feb_day = 0; //记录2月总天数
int cnt = 0; //记录总天数
printf("请输入年 月 日\n");
scanf("%d%d%d",&year,&month,&day);
//判断2月应该有多少天
if(year%4 == 0 && year%100 != 0 || year %400 == 0)//真为闰年
{
if(day>29 && month == 2)
{
printf("**,今年2月最多29天!\n");
return 0;
}
else
feb_day = 29; //闰年29天
}
else
{
if(day>28 && month == 2)
{
printf("**,今年2月最多28天!\n");
return 0;
}
else
feb_day = 28;
}
//判断大月天数是否超过31天
if((month==1 || month==3 || month==5 || month==7 || month==8 || month==10 || month==12) && day>31)
{
printf("**,今年%d月最多31天!\n",month);
return 0;
}
//判断小月天数是否超过30天
if((month==4 || month==6 || month==9 || month==11) && day>30 )
{
printf("**,今年%d月最多30天!\n",month);
return 0;
}
//按月份计算天数cnt
switch(month)
{
case 1: cnt = day;break;
case 2: cnt = 31*1 + day;break;
case 3: cnt = 31*1 + feb_day + day;break;
case 4: cnt = 31*2 + feb_day +day;break;
case 5: cnt = 31*2 + 30*1 + feb_day + day;break;
case 6: cnt = 31*3 + 30*1 + feb_day + day;break;
case 7: cnt = 31*3 + 30*2 + feb_day + day;break;
case 8: cnt = 31*4 + 30*2 + feb_day + day;break;
case 9: cnt = 31*5 + 30*2 + feb_day + day;break;
case 10:cnt = 31*5 + 30*3 + feb_day + day;break;
case 11:cnt = 31*6 + 30*3 + feb_day + day;break;
case 12:cnt = 31*6 + 30*4 + feb_day + day;break;
default:printf("**,一个年就12个月!\n");
return 0;
}
printf("今天是今年第%d天!\n",cnt);
return 0;#include<stdio.h>
int main(void)
{
int