// 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;
}
计算自己活了多少天--C语言
最新推荐文章于 2024-04-27 10:38:16 发布