阅读背景:

判断今天是今年的第几天(1)

来源:互联网 
 
 
 
 
#include<stdio.h>

int main(void)
{
	int year = 0;		//输入年份
	int month = 0;		//输入月份
	int day = 0;		//输入日期

	int feb_day = 0;	//记录2月总天数
	int cnt = 0;		//记录总天数

	printf("请输入年 月 日\n");
	scanf("%d%d%d",&year,&month,&day);

	//判断2月应该有多少天
	if(year%4 == 0 && year%100 != 0 || year %400 == 0)//真为闰年
	{
		if(day>29 && month == 2)
		{
			printf("**,今年2月最多29天!\n");
			return 0;
		}
		else
			feb_day = 29;	//闰年29天
	}
	else
	{
		if(day>28 && month == 2)
		{
			printf("**,今年2月最多28天!\n");
			return 0;
		}
		else
			feb_day = 28; 
	}

	//判断大月天数是否超过31天
	if((month==1 || month==3 || month==5 || month==7 || month==8 || month==10 || month==12) && day>31)
	{
		printf("**,今年%d月最多31天!\n",month);
		return 0;
	}

	//判断小月天数是否超过30天
	if((month==4 || month==6 || month==9 || month==11) && day>30 )
	{
		printf("**,今年%d月最多30天!\n",month);
		return 0;
	}

	//按月份计算天数cnt
	switch(month)
	{
		case 1: cnt = day;break;
		case 2: cnt = 31*1 + day;break;
		case 3: cnt = 31*1 + feb_day + day;break;
		case 4:	cnt = 31*2 + feb_day +day;break;
		case 5: cnt = 31*2 + 30*1 + feb_day + day;break;
		case 6: cnt = 31*3 + 30*1 + feb_day + day;break;
		case 7: cnt = 31*3 + 30*2 + feb_day + day;break;
		case 8: cnt = 31*4 + 30*2 + feb_day + day;break;
		case 9: cnt = 31*5 + 30*2 + feb_day + day;break;
		case 10:cnt = 31*5 + 30*3 + feb_day + day;break;
		case 11:cnt = 31*6 + 30*3 + feb_day + day;break;
		case 12:cnt = 31*6 + 30*4 + feb_day + day;break;						 
		default:printf("**,一个年就12个月!\n");
				return 0;
	}

	printf("今天是今年第%d天!\n",cnt);

	return 0;#include<stdio.h>

int main(void)
{
	int 



你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: