#include<stdio.h>
int w = 6;
int y = 2000;
int m[13] = { 0,31,28,31,30,31,30,31,31,30,31,30,31 };
int d = 1;
int mo = 0;
int k = 0;
void prim(int y)
{
if ((y % 4 == 0 && y % 100 != 0) || (y % 400 == 0))
{
m[2] = { 29 };
}
else
{
m[2] = { 28 };
}
}
int main()
{
int i = 1;
for (y = 2000; y <= 2020; y++)
{
prim(y);
for (mo = 1; mo <= 12; mo++)
{
for (d = 1; d <= m[mo]; d++)
{
k = k + 1;
if (w > 7)
{
w = 1;
}
if (d == 1 || w == 1)
{
k = k + 1;
}
w = w + 1;
if (y == 2020 && mo == 10 && d == 1)
{
printf("%d", k);
}
}
}
}
return 0;
}
1.首先定义一个函数判断是不是r年
注意:不要像我一样把y%100!=0敲成了y%100==0
搞了半天才发现问题。细节很重要的。
2.for循环的嵌套
一个是年,一个是月,一个是日;
3.if判断条件
周一或者月初就再+1km
当到2020年10月1日就输出结果。
注意定义12个月天数数组要让数组下标0是一个其他的数,因为我们一年是从1月开始,没有0月。
最后:祝福大家取得好成绩。