【题目】蓝桥模拟赛第一期,晨跑

【题目描述】 小蓝每周六、周日都晨跑,每月的 1、11、21、31日也晨跑。其它时间不晨跑。 已知 2022年1月1日是周六,请问小蓝整个2022年晨跑多少天?
【答案提交】 这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。
【参考答案】 138
【分析思路】 2022不是闰年,2月份28天。我们可以创建一个数组,放入1~12月份每个月的天数,当是1,11,21,31,或周六周日时,累加次数。其中月份的推进需要运用循环,日期增加也需要运用循环。

【代码实现】

#include<stdio.h>
//蓝桥第一期模拟赛,晨跑
int main()
{
	int x = 0;
	int count = 0;
	int day[12] = {31,28,31,30,31,30,31,31,30,31,30,31};
	int i = 0;//下标
	for (i = 0; i <= 11;i++)  //十二个月
	{
		for (int d = 1; d <= day[i]; d++) //小于当月天数,日期自增
		{
			x++;
			if (d == 1 || d == 11 || d == 21 || d == 31 || x % 7 == 1 || x % 7 == 2)
				count++;
		}
	}
	printf("%d ", count);
	return 0;
}
经验分享 程序员 微信小程序 职场和发展