c语言中,输入日期查询星期几的程序代码
C语言中,输入日期查星期的程序#include void main(){inty,m,d,z,r,temp;start1:printf("请输入查询年(1901年-2200年):");scanf("%d",&y);if(y<=1900||y>=2200) {printf("你输入的年份不在指定范围内,请重新输入!\n");goto start1; }start2:printf("请输入查询月(1月-12月):");scanf("%d",&m);if(m<=0||m>12) {printf("该年份没有%d月!\n",m);goto start2; }if(m==4||m==6||m==9||m==11) {start3:printf("请输入日期(1号-30号):");scanf("%d",&d);if(d<=0||d>30) {printf("%d月没有%d号!?\n",m,d);goto start3; } }if(y%4==0&&m==2) {start4:printf("请输入日期(1号-29号):");scanf("%d",&d);if(d<1||d>29) {printf("2月没有%d号!?\n",d);goto start4; } }if(y%4!=0&&m==2) {start5: printf("请输入日期(1号-28号):");scanf("%d",&d);if(d<0||d>=29){printf("%d年2月没有%d号!?\n",y,d);goto start5;} }if(m==1||m==3||m==5||m==7||m==8||m==8||m==10||m==12) {start6:printf("请输入日期(1号-31号):");scanf("%d",&d);if(d<1||d>31) {printf("该月没有%d号!?\n",d);goto start6; } } r=(y-1901)/4;if(y%4==0&&m>=3) r=r+1;if(m==1) z=(y-1901)*365+r+d;if(m==2) z=(y-1901)*365+r+31+d;if(m==3) z=(y-1901)*365+r+59+d;if(m==4) z=(y-1901)*365+r+90+d;if(m==5) z=(y-1901)*365+r+120+d;if(m==6) z=(y-1901)*365+r+151+d;if(m==7) z=(y-1901)*365+r+181+d;if(m==8) z=(y-1901)*365+r+212+d;if(m==9) z=(y-1901)*365+r+243+d;if(m==10) z=(y-1901)*365+r+273+d;if(m==11) z=(y-1901)*365+r+304+d;if(m==12) z=(y-1901)*365+r+334+d;temp=z%7;if(temp==0)printf(" 这天是星期一!\n");else if(temp==1)printf(" 这天是星期二!\n");else if(temp==2)printf(" 这天是星期三!\n");else if(temp==3)printf(" 这天是星期四!\n");else if(temp==4)printf(" 这天是星期五!\n");else if(temp==5)printf(" 这天是星期六!\n");elseprintf(" 这天是星期天!\n");}