任意给出一个年月日,求出是星期几。
输入:
年 月 日
输出:
0~6
星期日用 0 表示,星期一用 1 表示,星期二用 2 表示......星期六用 6 表示。
这里采用基姆拉尔森计算公式:
w=(d+2*m+3*(m+1)/5+y+y/4-y/100+y/400+1)%7
在公式中d表示日期中的日数,m表示月份数,y表示年数,%表示取余。
w表示星期,w的取值范围是0~6,0代表星期日,1~6星期一到星期六。
注:当输入1月和2月时,需要当作前一年的13月和14月。
#include<stdio.h>
int main()
{
int y,m,d;
int w;
scanf("%d%d%d",&y,&m,&d);
if(m==1||m==2){
m=m+12;
y=y-1;
w=(d+2*m+3*(m+1)/5+y+y/4-y/100+y/400+1)%7;
printf("%d\n",w);}
else if(m==3||m==4||m==5||m==6||m==7||m==8||m==9||m==10||m==11||m==12){
w=(d+2*m+3*(m+1)/5+y+y/4-y/100+y/400+1)%7;
printf("%d\n",w);}
return 0;
}
运行结果测试
文章来源:https://www.toymoban.com/news/detail-741242.html
初学请谅解,大家多提建议。文章来源地址https://www.toymoban.com/news/detail-741242.html
到了这里,关于【C语言编程基础】根据日期求星期(基姆拉尔森计算公式)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!