蓝桥杯题目 计算后续日期

蓝桥杯题目 计算后续日期蓝桥杯题目计算后续日期题目描述我们经常要计算 从今天往后 N 天之后是哪一天 哪年哪月哪日 现在我们就可以编写一个程序 推算指定日期之后的第 N 天是什么日期 输入输入有多组 每组测试用例有一行 包括四个整数 分别表示年 月 日和第 N 天 输出对于每组测试用例 输入由一行组成 表示 年月日 N 天后的 的年 月 日样例输入样例输出 2012

蓝桥杯题目

计算后续日期

题目描述

我们经常要计算,从今天往后N天之后是哪一天(哪年哪月哪日)。现在我们就可以编写一个程序,推算指定日期之后的第N天是什么日期。

程序源码
#include<iostream> #include<iomanip> using namespace std; int a[2][12] = { 
    { 
    31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 }, { 
    31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 } }; int b[2] = { 
    365,366 }; int judge(int a)//是否是闰年,是则返回1,不是则返回0 { 
    if ((a % 4 == 0 && a % 100 != 0) || a % 400 == 0)return 1; else return 0; } //返回从1年1月1日开始(包括当天)到输入天数(不包括当天)所经历的天数 int days_1(int year, int month, int day) { 
    int sum = 0; for (int i = year; i > 1; i--) { 
    sum += b[judge(i)]; } for (int j = month; j > 1; j--) { 
    sum += a[judge(year)][j - 1]; } sum += day - 1; return sum; } //输入n(n大于0),则返回从1年1月1日(包括当天)开始经过了n天后的日期(不包括当天) void days_2(int sum, int &year, int &month, int &day) { 
    for (year = 1; sum >= b[judge(year)]; year++) { 
    sum -= b[judge(year)]; } for (month = 0; sum >= a[judge(year)][month]; month++) { 
    sum -= a[judge(year)][month]; } month++; day = sum + 1; return; } int main() { 
    int year, month, day, n; while (cin >> year >> month >> day >> n) { 
    n+= days_1(year, month, day); days_2(n, year, month, day); cout << year << "." << month << "." << day << endl; } return 0; } 
测试结果

在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/233008.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Android 开源项目android-open-project解析之(四) ColorPickView,GraphView,UI Style,Other

    Android 开源项目android-open-project解析之(四) ColorPickView,GraphView,UI Style,Other

    2022年2月5日
    46
  • insert into select * from 锁表

    insert into select * from 锁表mysql[192.168.11.187]processid[249]root@localhostindb[zjzc]holdtransactiontime197112069858,

    2022年7月2日
    22
  • android获取数据_获取AndroidID需要权限

    android获取数据_获取AndroidID需要权限/**File:DeviceUtils.java*Author:wenxiangli*Create:2017/8/1716:22*获取手机的UUID信息*/importandroid.content.Context;importandroid.telephony.TelephonyManager;importjava.util.UUID;publicclass

    2022年8月10日
    4
  • SpringCloud微服务架构分析

    SpringCloud微服务架构分析微服务框架微服务是一种架构风格,一个大型复杂软件应用应该由一个或多个微服务组成。系统中的各个微服务都可以被独立部署,每个服务仅关注于完成一件任务就行了,在所有情况下,每个任务都代表着一个小的业务能力。微服务架构其实就是一种架构风格,我们将整个项目划分为多个独立的小项目,也就是我们俗称的微服务,可以理解为每个微服务都单独处理某个功能模块,可以独立开发、测试、部署、监控和扩展,甚至可以用不同的编程语言开发它们。它有利于我们平时项目的开发,解决了一体化架构项目难以扩展,开发周期长,故障级联等问题…

    2022年6月15日
    34
  • pycharm django环境搭建_挣钱项目

    pycharm django环境搭建_挣钱项目2021/2/2pycharm打开的界面有更新。1.找到setting先找到自定义(customize)然后再点击Allsettings进入界面2.下载django的解释器先点击python的解释器(pythoninterpreter)然后选择一个需要配置django解释器的python项目,也可以新创一个。选择好python项目之后,可以从package栏查看下载了哪些python包。然后,点击pip,查找django就可以下载django的python包。THAT‘

    2022年8月27日
    4
  • 大道之简

    大道之简

    2022年4月3日
    57

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号