SWUST OJ #78: 计算生日是星期几
作者:互联网
题目描述
编写一个程序,只要输入年月日,就能回答那天是星期几。
能被4整除但不能被100整除的,或者能被400整除的是闰年。
输入一个日期,包括年、月、日。(一组测试数据)
输出这个日期是星期几。
#include<stdio.h>
int main()
{
int n,y,r;
while(scanf("%d %d %d",&n,&y,&r)!=EOF){
int s=0;
for(int i=1;i<n;i++){
if((i%4==0&&i%100!=0)||(i%400==0)){
s++;
}
}
s+=(n-1)*365;
if(y==1){
s+=r;
} else if(y==2){
s+=31+r;
} else if(y==3){
s+=59+r;
} else if(y==4){
s+=90+r;
} else if(y==5){
s+=120+r;
} else if(y==6){
s+=151+r;
} else if(y==7){
s+=181+r;
} else if(y==8){
s+=212+r;
} else if(y==9){
s+=243+r;
} else if(y==10){
s+=273+r;
} else if(y==11){
s+=304+r;
} else if(y==12){
s+=334+r;
}
int fact=s%7;
switch(fact)
{
case 1:printf("Monday\n");break;
case 2:printf("Tuesday\n");break;
case 3:printf("Wednesday\n");break;
case 4:printf("Thursday\n");break;
case 5:printf("Friday\n");break;
case 6:printf("Saturday\n");break;
default:printf("Sunday\n");break;
}
}
return 0;
}
比较简单的代码:可以凑合着看看,适合初学者。
标签:case,OJ,int,else,break,printf,SWUST,i%,78 来源: https://blog.csdn.net/m0_58735176/article/details/119326350