ZZULIOJ:1129: 第几天

题目描述

你知道,2012-1-1是该年的第1天,而9999-9-9呢?给你一个具体的日期,计算该日期是该年的第几天。

输入

输入一个日期,格式为:Year-month-day。year是小于9999的正整数。

输出

一个整数,表示该日期是该年的第几天。

样例输入 Copy

2012-3-1

样例输出 Copy

61

源代码

#include<stdio.h> 
int main()
{
	int year,month,day,num=0;
	scanf("%d-%d-%d",&year,&month,&day);
	if((year%4==0&&year%100!=0)||(year%400==0))
	{
		while(month--)//使用循环进行switch结构匹配对纯月数天数累加 
		{
			switch(month)
			{
				case 2:num=num+29;break;
				case 4:
				case 6:
				case 9:
				case 11:num=num+30;break;
				case 1:
				case 3:
				case 5:
				case 7:
				case 8:
				case 10:
				case 12:num=num+31;break;
			}
		}
	} 
	else
	{
		while(month--)
		{
			switch(month)//使用循环进行switch结构匹配对纯月数天数累加
			{
				case 2:num=num+28;break;
				case 4:
				case 6:
				case 9:
				case 11:num=num+30;break;
				case 1:
				case 3:
				case 5:
				case 7:
				case 8:
				case 10:
				case 12:num=num+31;break;
			}
		}
	}
	printf("%d",num+day);//第几天=纯月数天+本月天数 
	return 0;
}

猜你喜欢

转载自blog.csdn.net/couchpotatoshy/article/details/122207812#comments_22502872