输入年月日,判断是一年中的哪一天

#include<stdio.h>
int main()
{	
	int year, month, day;
	int sum=0;
	printf("please input your date:\n");
	scanf_s("%d %d %d", &year, &month, &day);
	switch (month)
	{
	case 1:
		sum = day;
		break;
	case 2:
		sum = 31 + day;
		break;
	case 3:
		sum = 31 + 28 + day;
		break;
	case 4:
		sum = 31 + 28 + 31 + day;
		break;
	case 5:
		sum = 31 + 28 + 31 + 30 + day;
		break;
	case 6:
		sum = 31 + 28 + 31 + 30 + 31 + day;
		break;
	case 7:
		sum = 31 + 28 + 31 + 30 + 31 + 30 + day;
		break;
	case 8:
		sum = 31 + 28 + 31 + 30 + 31 + 30 + 31 + day;
		break;
	case 9:
		sum = 31 + 28 + 31 + 30 + 31 + 30 + 31 + 31 + day;
		break;
	case 10:
		sum = 31 + 28 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + day;
		break;
	case 11:
		sum = 31 + 28 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + 31 + day;
		break;
	case 12:
		sum = 31 + 28 + 31 + 30 + 31 + 30 + 31 + 31 + 31 + 31 + 30 + day;
		break;
	}
	if((month < 0) || (month > 12) || (year < 0) || (day < 0) || (day > 31))//对天数和年、月进行限制
	{
		printf("Sorry for that,Sir! The date you input is wrong!");
	}
	else if(((month == 4) || (month == 6) || (month == 9) || (month == 11) && (day > 30)))//4、6、9、11这几个月的天数不能大于30
	{
		printf("Sorry for that,Sir! The date you input is wrong!");
	}
	else if ((month == 2) && (day > 29) && (((year % 100 != 0) && (year % 4 == 0)) || (year % 400 == 0)))//闰年的天数不大于29
	{
		printf("Sorry for that,Sir! The date you input is wrong!");
	}
	else if ((month == 2) && (day > 28) && !(((year % 100 != 0) && (year % 4 == 0)) || (year % 400 == 0)))//平年的天数不大于28
	{
		printf("Sorry for that,Sir! The date you input is wrong!");
	}
	else if ((month>2)&&((year % 100 != 0) && (year % 4 == 0)) || (year % 400 == 0))
	{
		sum = sum + 1;
		printf("%d年%d月%d日是这一年的第%d天!", year, month, day, sum);
	}
	else 
	{
		printf("%d年%d月%d日是这一年的第%d天!", year, month, day, sum);
	}
	
	return 0;
}


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值