- 介绍
- 代码如下(部分注释)
- 执行结果如下
- 输入错误情况如下
- -- 文明 使人进步 --
代码如下(部分注释)输入一个日期,输出当前日期是这一年的第几天
注意考虑平年闰年问题
2021.3.24
输出:2021年3月24日是2021年的第83天
#include执行结果如下 输入错误情况如下 – 文明 使人进步 –int main(int argc, const char *argv[]) { int year = 0; int month = 0; int month2 = 0; int day = 0; //int temp = 0; printf("请输入年月日(用回车分割):n"); scanf("%d%d%d",&year,&month,&day); printf("您输入的日期是:%d年 %d月 %d日n ",year,month,day); //判断年月日的合法性 if(year <0 ||month >12 ||month < 1) { printf("xia TM xien"); return 0; } //判断是不是31天的合法性 if(month == 1 ||month == 3||month == 5||month == 7||month ==8||month==10||month==12) { if(day > 31) { printf("又特么瞎写!!!n"); return 0; } } if(month == 2||month==4||month==6||month==9||month==11) { if(day > 30) { printf("又特么瞎写!!!n"); return 0; } } //根据输入的年份,判断一下是不是闰年 if(((year%4==0)&&(year%100!=0))||year%400==0) {//闰年 2yue 29day if(month == 2) { if(day > 29) { printf("又特么瞎写!!!n"); return 0; } } month2 = 29; } else {//平年 2yue 28day month2 = 28; if(month == 2) { if(day > 28) { printf("又特么瞎写!!!n"); return 0; } } } switch(month){ case 12 : printf("第%d天n",31+month2+31+30+31+30+31+31+30+31+30+day); break; case 11 : printf("第%d天n",31+month2+31+30+31+30+31+31+30+31+day); break; case 10 : printf("第%d天n",31+month2+31+30+31+30+31+31+30+day); break; case 9 : printf("第%d天n",31+month2+31+30+31+30+31+31+day); break; case 8 : printf("第%d天n",31+month2+31+30+31+30+31+day); break; case 7 : printf("第%d天n",31+month2+31+30+31+30+day); break; case 6 : printf("第%d天n",31+month2+31+30+31+day); break; case 5 : printf("第%d天n",31+month2+31+30+day); break; case 4 : printf("第%d天n",month2+31+31+day); break; case 3 : printf("第%d天n",month2+31+day); break; case 2 : printf("第%d天n",31+day); break; case 1 : printf("第%d天n",day); break; } return 0; }



