判断今天是今年的第几天(1)

来源:互联网 发布:萤石软件下载 编辑:程序博客网 时间:2024/06/05 06:20
#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;}elsefeb_day = 29;//闰年29天}else{if(day>28 && month == 2){printf("**,今年2月最多28天!\n");return 0;}elsefeb_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;}//按月份计算天数cntswitch(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;
}

原创粉丝点击