C语言判断闰年计算某月的天数代码

本文介绍了一个使用C语言实现的日期处理程序,包括判断闰年、获取指定月份天数及计算一年中某日的具体编号的功能。通过三个核心函数,用户可以输入年、月、日,程序将验证输入的有效性并返回相关信息。

题目:1、编写函数,内容:输入年份判断是否为闰年,返回真假值。2、编写函数:输入年月,返回这一月的天数。3、输入日,返回是这一年的第几天。(注意:判断输入年月是否有效)

闰年是能被4整除不能被100整除且能被400整除的年份。闰年2月有29天,非闰年有28天。

#include<stdio.h>
bool LeapYear(int year)
{
	return (year % 4 == 0 && year % 100 != 0 || year % 400 == 0);
}
int  Month(int year,int month)
{
	int Day[13] = { 29,31,28,31,30,31,30,31,31,30,31,30,31 };  //查表
	if (2 == month && LeapYear(year))
	{
		month = 0;
	}
	return Day[month];
}
int Get_Daynum(int year, int month, int day)
{
		int sum = 0;
		for (int i = 1; i < month; i++)
		{
			sum += Month(year, i);
		}
		sum += day;
		return sum;
}
int main()
{
	int year, month, day;
	char ch = 0;
	do
	{
		printf("请输入年份:");
		scanf("%d", &year);
		printf("请输入月份:");
		scanf("%d", &month);
		printf("请输入日:");
		scanf("%d", &day);
		LeapYear(year);
		Month(year, month);
		Get_Daynum(year, month, day);
		if (year < 1)
		{
			printf("输入年份有误!\n");
		}
		if (month > 12 || month < 1)
		{
			printf("输入月份有误!\n");
		}
		if (day < 1 || day > Month(year,month))
		{
			printf("输入天数有误!\n");
		}
		printf("是否继续(y/n)?:");
		rewind(stdin);
		scanf("%c",&ch);
	} while (ch == 'y' || ch == 'Y');
	
	printf("%d年%d月有%d天\n这一天是这一年的第%d天。\n", year, month, Month(year, month), Get_Daynum(year, month, day));
	
}

本文结束,感谢阅览!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值