//方法1
1 #include "stdio.h"
2
3 int main()
4 {
5 int year, month, day,sum=0;
6 int days[12] = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 }; //初始化一年的十二个月,二月默认为28天 如果闰年修改days[1]
7 printf("请输入年-月-日:");
8 scanf_s("%d-%d-%d", &year, &month, &day);
9 if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0)//判断是否是闰年 是闰年把days[1] = 29
10 {
11 days[1] = 29;
12 }
13 for (int i = 0; i < month-1; i++)
14 {
15 sum += days[i]; //累加求和
16 }
17 printf("这是这一年的%d天!",sum+day);
18 }
//方法二
#include "stdio.h"
int main()
{
int year, month, day,days=0,d;
printf("请输入年-月-日:");
scanf_s("%d-%d-%d",&year,&month,&day);
for (int i = 1; i < month; i++)
{
switch (i)
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:d = 31; break;
case 4:
case 6:
case 9:
case 11:d = 30; break;
case 2:
if (year % 4 == 0 && year % 100 != 0 || year % 400 ==0 )
{
d = 29;
}
else
{
d = 28;
}
break;
}
days += d;
}
printf("这是这一年的%d天!",days+day);
}