跑步锻炼
题目
思路分析
1.首先,我们明确一件事,就是从2000年1月1日一直到2020年10月1日,他至少每天跑1公里,我们可以套用三层for循环,计算他每天跑一公里跑了多少。
2.其次,他只有在周一或者月初的时候会多跑一公里,那么,我们便使用if进行判断当天是否是周一或者月初
代码
#include<stdio.h> int main() { int months[13]={0,31,28,31,30,31,30,31,31,30,31,30,31}; int year,month,day; int days=6;//2000年1月1日是星期六 int sum=0;//公里数 for(year=2000;year<=2020;year++)//年份 { if((year%4==0&&year%100!=0)||(year%400==0))//判断是否为闰年 { months[2]=29;//闰年 } else { months[2]=28;//平年 } for(month=1;month<=12;month++)//月份 { for(day=1;day<=months[month];day++)//天数 { sum++;//每天跑1千米 if(days==8) { days=1;//一周的轮回 } if(days==1||day==1) //月初与星期一时多跑一公里 { sum++; } days++;//进入第二天 if(year==2020&&month==10&&day==1)//到2020年10月1日停止循环 { printf("%d",sum); } } } } return 0; }
运行结果