第十一届蓝桥杯省赛C语言B组——试题 D: 跑步锻炼
程序员文章站
2022-07-07 10:34:46
...
试题 D: 跑步锻炼
本题总分:10 分
【问题描述】
小蓝每天都锻炼身体。正常情况下,小蓝每天跑 1 千米。如果某天是周一或者月初(1 日),为了激励自己,小蓝要跑 2 千米。如果同时是周一或月初,小蓝也是跑 2 千米。 小蓝跑步已经坚持了很长时间,从 2000 年 1 月 1 日周六(含)到 2020 年10 月 1 日周四(含)。请问这段时间小蓝总共跑步多少千米?
C语言代码:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
int main()
{
int ans=0;
int mon=6; //2020年1月1日星期六
int monthes[13]= {0,31,28,31,30,31,30,31,31,30,31,30,31};//一年中的12个月每月的天数
for(int i=2000; i<=2020; i++)//判断闰年
{
if((i%4==0&&i%100!=0)||(i%400==0))
{
monthes[2]=29;
}
else
{
monthes[2]=28;
}
for(int month=1; month<=12; month++)//计算公里数
{
for(int day=1; day<=monthes[month]; day++)
{
ans++;
if(mon==8)
{
mon=1;
}
if(mon==1||day==1)//判断周一和每月的一号
{
ans++;
}
mon++;
if(i==2020&&month==10&&day==1)//截止日期输出
{
printf("%d",ans);
}
}
}
}
return 0;
}