计算自己活了多少天--C语言

// 679 计算自己活了多少天.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
#include <stdio.h>
bool runyear(int year)
{
	if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0 && year % 100 == 0)
	{
		return true;
	}
	return false;
}
int main()
{
	int brithYear = 0, brithMon = 0, brithDay = 0;
	int newYear = 0, newMon = 0, newDay = 0;
	scanf_s("%d%d%d", &brithYear,&brithMon,&brithDay);
	scanf_s("%d%d%d", &newYear,&newMon,&newDay);
	int month[12] = { 31,28,31,30,31,30,31,31,30,31,30,31 };
	int sum = 0;
	if (brithYear == newYear)//当前年份就是出生年份
	{
		if (newMon >= 2)//需要判断是否是闰年
		{
			if (runyear(brithYear))
				month[1] = 29;
		}
		if (brithMon == newMon)//当前月份就是出生月份
		{
			sum =newDay - brithDay;
			printf("%d", sum);
			return 0;
		}
		else
		{
			for (int i = brithMon; i < newMon - 1; i++)//从出生月到当前月份
			{
				sum += month[i];
			}
			sum = sum + month[brithMon-1] - brithDay;
			sum = sum + newDay;
			printf("%d", sum);
			return 0;
		}	
	}
	for (int i = brithYear + 1; i < newYear; i++)//计算出生年分到现在多少天
	{
		if (runyear(i))//闰年366天
			sum += 366;
		else
			sum += 365;
	}
	if (runyear(brithYear))//计算出生月份到12月31日有多少天
		month[1] = 29;
	for (int i = brithMon; i < 12; i++)
	{
		sum += month[i];
	}
	sum += month[brithMon-1] - brithDay;
	if (runyear(newYear))//计算1月1日到当前月份有多少天
		month[1] = 29;
	else
		month[1] = 28;
	for (int i = 0; i < newMon - 1; i++)
	{
		sum += month[i];
	}
	sum += newDay;
	printf("%d", sum);
	return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值