一个计算天数的代码,然后有个问题就是m每一次循环增1,增到12再增从1开始,要怎么完成?
求余12后再加1就可以啦
m%12 == 0?12 : m%12
你这个是筛选闰年天数的吧,可以两层循环,外边年份(1-2021),里边月份(1-12)
供参考:
#include <stdio.h>
int main()
{
int M[12] = { 31,28,31,30,31,30,31,31,30,31,30,31 };
int y, m, d, s, year, month, flg;
printf("Input yyyy mm dd:");
scanf("%d%d%d", &y, &m, &d);
for (month = 1, year = 1, s = 0; ; ++month > 12 ? (month = 1, year++) : month)
{
if (year == y && month == m) break;
flg = 0;
if (month == 2 && ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0))
flg = 1;
s += M[month - 1];
if (flg==1)s += 1;
}
s += d;
printf("%d", s);
return 0;
}