输入年月日实现计算这是一年的第几天

时间:2025-02-10 08:39:12
#include<> /*通过输入年月日,计算这一天是这一年的第几天, * 支持任意输入,不正确输入均有提示*/ int main() { int year,month,day,Hday,monthD; //Hday--定义总共经过了几天,monthD--month-1的天数累加和 printf("please input year,month and day:"); scanf("%d%d%d",&year,&month,&day); monthD =0; if(month ==1 && day<1||day>31) { printf("There was no such day this year\n"); } else { switch(month-1) { default: printf("you input err!\n");break; case 11: { if(month==12&&day>31||day<1) { printf("There was no such day this year\n"); break; } else { monthD = monthD+30; } }; case 10: { if(month==11&&day>30||day<1) { printf("There was no such day this year\n"); break; } else { monthD = monthD+31; } }; case 9: { if(month==10&&day>31||day<1) { printf("There was no such day this year\n"); break; } else { monthD = monthD+30; } }; case 8: { if(month==9&&day>30||day<1) { printf("There was no such day this year\n"); break; } else { monthD = monthD+31; } }; case 7: { if(month==8&&day>31||day<1) { printf("There was no such day this year\n"); break; } else { monthD = monthD+31; } }; case 6: { if(month==7&&day>31||day<1) { printf("There was no such day this year\n"); break; } else { monthD = monthD+30; } }; case 5: { if(month==6&&day>30||day<1) { printf("There was no such day this year\n"); break; } else { monthD = monthD+31; } }; case 4: { if(month==5&&day>31||day<1) { printf("There was no such day this year\n"); break; } else { monthD = monthD+30; } }; case 3: { if(month==4&&day>30||day<1) { printf("There was no such day this year\n"); break; } else { monthD = monthD+31; } }; case 2: { if(month==3&&day>31||day<1) { printf("There was no such day this year\n"); break; } else { if(year%4==0 && year%100!=0|| year%400==0) { monthD = monthD+29; } else { monthD = monthD+28; } } }; case 1: { if(year%4==0 && year%100!=0|| year%400==0) { if(month==2&&day>29||day<1) { printf("There was no such day this year\n"); break; } else { monthD = monthD+31; } } else { if(month==2&&day>28||day<1) { printf("There was no such day this year\n"); break; } else { monthD = monthD+31; } } }; case 0: { if(month==1&&day>31||day<1) { printf("There was no such day this yeari"); break; } Hday =monthD + day; printf("%d年%d月%d日是这一年的第%d天\n",year,month,day,Hday); } } } return 0; }