好吧献上本人自创的已知年月日求星期几的C程序:
#include<stdio.h>main(){int a,b,c,d,s,z;printf("请输入年月日a,b,c:");scanf("%d,%d,%d",&a,&b,&c);if((a%4==0&&a%100!=0)||(a%400==0)){if(b==1)d=c;if(b==2)d=c+31;if(b==3)d=c+60;if(b==4)d=c+91; if(b==5)d=c+121; if(b==6)d=c+152; if(b==7)d=c+182; if(b==8)d=c+213; if(b==9)d=c+244; if(b==10)d=c+274; if(b==11)d=c+305; if(b==12)d=c+335;}else{if(b==1)d=c;if(b==2)d=c+31;if(b==3)d=c+59;if(b==4)d=c+90; if(b==5)d=c+120; if(b==6)d=c+151; if(b==7)d=c+181; if(b==8)d=c+212; if(b==9)d=c+243; if(b==10)d=c+273; if(b==11)d=c+304; if(b==12)d=c+334;}s=a-1+(a-1)/4-(a-1)/100+(a-1)/400+d;z=s%7;if(z==0)printf("这一天为星期天\n"); if(z==1)printf("这一天为星期1\n"); if(z==2)printf("这一天为星期2\n"); if(z==3)printf("这一天为星期3\n"); if(z==4)printf("这一天为星期4\n"); if(z==5)printf("这一天为星期5\n"); if(z==6)printf("这一天为星期6\n");}