C语言 从键盘输入某年某月某日,编程输入该日期是星期几。(用二维数组计算总天数)用0到6表示星期日到星期六。

C语言   从键盘输入某年某月某日,编程输入该日期是星期几。(用二维数组计算总天数)用0到6表示星期日到星期六。

问题描述:

从键盘输入某年某月某日,编程输入该日期是星期几。(用二维数组计算总天数)用0到6表示星期日到星期六。

#include "stdio.h"
char ew[7][20]={"sunday","monday","tuesday","wednesday","thursday","friday","saturday"};
int a[15]={0,31,28,31,30,31,30,31,31,30,31,30,31};
int main(){
int y,m,d;
scanf("%d/%d/%d",&y,&m,&d);
if(y%4==0&&y%100!=0||y%400==0)
a[2]=29;
int ans=d,i;
for(i=1;i<=m-1;i++){
ans+=a[i];
}
int s,r;
s=y-1+(y-1)/4-(y-1)/100+(y-1)/400+ans;
r=s%7;
for(i=0;i<=6;i++){
if(r==i){
printf("%s\n",ew[i]);
break;
}
}
return 0;
}
搬运的