#include<stdio.h>
int leap(int a)
{
if (a % 4 == 0 && a % 400 == 0 || a % 100 != 0)
return 1;
else
return 0;
}
int whatday(int year, int mon, int day)
{
int num=0;
int monthday[12] = { 31,28,31,30,31,30,31,31,30,31,30,31 };
int monthdays[12] = { 31,29,31,30,31,30,31,31,30,31,30,31 };
if (leap(year) == 1)//闰年
{
for (int i = 0; i < mon-1; i++)
num = num + monthdays[i];
num = num + day;
return num;
}
else
{
for (int i = 0; i < mon - 1; i++)
num = num + monthday[i];
num = num + day;
return num;
}
}
void print(int year,int mon,int day)
{
int n;
n = whatday(year, mon, day);
printf("这天是%d年的第%d天\n", year, n);
}
int main()
{
int year, mon, day;
printf("请输入年 月 日:");
scanf("%d%d%d", &year, &mon, &day);
print(year, mon, day);
}
思路:
判断是闰年平年
创建闰年和平年每个月天数的数组
计算天数