C语言:输入某年某月某日,判断这一天是这一年的第几天? 以3月5日为例,应该先把前两个月的加起来,而后再加上5天即本年的第几天,特殊状况,闰年且输入月份大于3时需考虑多加一天。

以3月5日为例,应该先把前两个月的加起来,而后再加上5天即本年的第几天,特殊状况,闰年且输入月份大于3时需考虑多加一天。

首先画下设计流程图:
在这里插入图片描述
源程序:web

#include<stdio.h>
int main()
{
	int year,month,day,sum=0,i;
	printf("请以xxxx-xx-xx的格式输入:\n"); 
	scanf("%d-%d-%d",&year,&month,&day);
	for(i=1;i<month;i++)
	{
		if((year%400==0 || (year%4==0&&year%400!=0))&&i==2)//闰年二月多一天
			sum+=29;
		else if(i==1 || i==3 || i==5 || i==7 || i==8 || i==10 || i==12)
			sum+=31;
		else
			sum+=28;
	}
	sum+=day;
	printf("这一天是%d年的第%d天。\n",year,sum);
	return 0;
}

运行结果:
**加粗样式**svg