题目
Description
输入自己的出生日期,以及今天的日期,计算自己活了多少天
Input
输入出生日期: 年 月 日(2015 12 10)
输入今天的日期:年 月 日(2019 12 10)
Output
输出天数,不满一天的不计算一天
#include<stdio.h>
int add(int year) {
//判断闰年
if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) {
return 1;
}
else {
return 0;
}
}
int getDays(int year, int month, int day) {
//算今年活了多少天。
int months[12] = { 31,28,31,30,31,30,31,31,30,31,30,31 };
months[1] += add(year);
int sum = 0;
for (int i = 0; i < month - 1; i++) {
sum += months[i];
}
return sum + day;
}
int diff(int year1, int month1, int day1, int year2, int month2, int day2) {
int sum = 0;
//1.先计算活了多少年
for (int i = year1; i <= year2 - 1; i++) {
sum += 365 + add(i);
}
//2.算今年活了多少天
sum += getDays(year2, month2, day2);
//3.减去出生那年没活的天数
sum -= getDays(year1, month1, day1);
return sum;
}
int main()
{
int year1, month1, day1;
int year2, month2, day2;
scanf("%d %d %d", &year1, &month1, &day1);
scanf("%d %d %d", &year2, &month2, &day2);
int sum = diff(year1, month1, day1, year2, month2, day2);
printf("%d", sum);
return 0;
}
版权声明:本文为qazwsxedc97原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。