输入年月日判断星期几

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>

//通过百度,找到了基姆拉尔森计算公式
//该公式中把一月和二月看成是上一年的十三月和十四月

char *weekDay(int year, int month, int day)
{
	int my_weekday = -1;
	if (month == 1 || month == 2)
	{
		month += 12;
		year--;
	}
	my_weekday = (day + 1 + 2 * month + 3 * (month + 1) / 5 + year + year / 4 - year / 100 + year / 400) % 7;

	switch (my_weekday)
	{
	case 0: return "星期7"; break;
	case 1: return "星期1"; break;
	case 2: return "星期2"; break;
	case 3: return "星期3"; break;
	case 4: return "星期4"; break;
	case 5: return "星期5"; break;
	case 6: return "星期6"; break;
	default: return NULL;
	}
	return NULL;
}

int main(void)
{
	int year, month, day;
	printf("请输入年月日\n");
	scanf("%d%d%d", &year, &month, &day);
	char *p = weekDay(year, month, day);
	printf("%s\n", p);

	system("pause");
	return 0;
}
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值