每天一个小题目——日期倒计时

来源:互联网 发布:伴知旅行网 编辑:程序博客网 时间:2024/06/05 06:51

题目描述
在经济、科技日益发达的今天,人们对时间的把握越来越严格,对于一个一定影响力的公司的高管来说,他可能要将自己的行程提前安排到下个月。对于普通人来说,他也可能将几天之后的安排已经提前做好。 请设计一个程序计算出今天距离未来的某一天还剩多少天。 假设今天是2015年10月18日。

输入
输入一个日期格式为yyyy-MM-dd,不考虑日期是否小于今天。
样例输入
2015-10-19
输出
输出一个数字表示今天(2015年10月18日)距离该日期还剩多少天。
样例输出
1

代码如下:

#include<iostream>using namespace std;const int month1[13] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};       // 非闰年const int month2[13] = {0, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};       //    闰年int main(){    int year, month, day;    scanf("%d-%d-%d",&year, &month, &day);                // 输入目标日期    int count;    if (year == 2015){                                    // 在2015 年        count = day;        for (int i = 10; i < month; ++i )            count += month1[i];         count -= 18;    }      else{                                                 // 大于2015 年        count = 74 + day;        int k;        for ( k = 2016; k < year; ++k)                    // 小于当前年            if ((k % 4 == 0 && k % 100 != 0) || k % 400 == 0)     // 闰年              count += 366;            else              count += 365;        for (int i = 1; i < month; ++i){          if ((k % 4 == 0 && k % 100 != 0) || k % 400 == 0)       // 闰年            count += month2[i];          else            count += month1[i];        }    }    cout << count << endl;    return 0;}
0 0
原创粉丝点击