黑色星期五C语言实现

废话不多说上代码

int monthOfDay(int year, int month)
{
		int flag = (year % 400 == 0 || year % 4 == 0 && year % 100 != 0);
		switch (month)
		{
		case 1:return 31;
		case 2:return flag ? 29 : 28;
		case 3:return 31;
		case 4:return 30;
		case 5:return 31;
		case 6:return 30;
		case 7:return 31;
		case 8:return 31;
		case 9:return 30;
		case 10:return 31;
		case 11:return 30;
		case 12:return 31;
		}
		return 0;
}
int main()
{
		printf("**************************************\n");
		printf("********判断一年中的黑色星期五********\n");
		printf("**************************************\n");	
		while (1)
		{

				printf("********请输入一个年份*********\n");
				int i, year = 0, month, day = 0;
				scanf(" %d", &year);
				if (year < 1998)
				{
						printf("year must greater 1999!\n");
				}
				else
				{

						for (i = 1998; i < year; i++)
						{
								if (i % 4 == 0 && i % 100 != 0 || i % 400 == 0)//判断闰年
								{
										day += 366;
								}
								else
										day += 365;
						}
						day += 13;//一月十三日
						for (month = 1; month <= 12; month++)
						{
								if (day % 7 == 2)
								{
										printf(" %d / %d / 13\n", year, month);
								}
								day += monthOfDay(year, month);
						}

				}
		}
		return 0;
}

需要注意的地方:

  1. 闰年的定义:四年一闰,百年不闰,四百年再闰。
  2. 判断用i,而不是year。我开始就做错了for (i = 1998; i < year; i++) { if (i % 4 == 0 && i % 100 != 0 || i % 400 == 0)//判断闰年 { day += 366; } else day += 365; }

总结一下,学习编程已经差不多一个月了,发现这条路还是很难走的,但我还是会迎难而上,尽快从小白走向大佬。哈哈哈,记录~~~·

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值