华为机试HJ73:计算日期到天数转换

简介: 华为机试HJ73:计算日期到天数转换

题目描述:

根据输入的日期,计算是这一年的第几天。

输入描述:

输入一行,每行空格分割,分别是年,月,日

输出描述:

输出是这一年的第几天

示例:

输入:

2012 12 31

输出:

366

解题思路:

本题是个数学问题,也是生活题。闰年要满足两个条件,年份可以被4整除,且不被100整除。首先用year判断是否为闰年;其次,建立闰年的月份天数表和非闰年的月份天数表;根据当前月份,累加其前n-1个月的完整天数,再加上当月的天数,完毕。

测试代码:

#include <iostream>
#include <string>
#include <vector>
using namespace std;
int main()
{
    int year,month,day;
    while(cin>>year>>month>>day)
    {
        bool flag=(year%4==0&&year%100!=0)?true:false;
        vector<int> months1={31,28,31,30,31,30,31,31,30,31,30,31};     // 非闰年
        vector<int> months2={31,29,31,30,31,30,31,31,30,31,30,31};     // 闰年
        int sum=0;
        for(int i=0;i<(month-1);++i)
        {
            if(flag)
            {
                sum+=months2[i];
            }
            else{
                sum+=months1[i];
            }
        }
        sum+=day;
        cout<<sum<<endl;
    }
    return 0;
}


相关文章
|
算法 计算机视觉 iOS开发
iOS 实时图像处理技术:使用 Core Image 和 Metal 进行高效滤镜应用
【4月更文挑战第8天】 在移动设备上实现高效的图像处理功能是现代应用程序开发中的一个关键需求。苹果的iOS平台提供了Core Image和Metal两大技术,它们为开发者提供了强大的工具来实现复杂的图像处理任务。本文将探讨如何使用Core Image进行基础图像处理,并结合Metal的性能优势,开发出一个自定义的实时图像滤镜。我们将通过创建一个能够动态调整参数并且具有实时反馈效果的滤镜来演示这一过程。
|
前端开发 JavaScript Go
VSCode 配置本地服务器
VSCode 配置本地服务器
941 0
VSCode 配置本地服务器
|
小程序 前端开发 JavaScript
微信小程序全栈开发中的PWA技术应用
【4月更文挑战第12天】本文探讨了微信小程序全栈开发中PWA技术的应用,PWA结合Web的开放性和原生应用的性能,提供离线访问、后台运行、桌面图标和原生体验。开发者可利用Service Worker实现离线访问,Worker处理后台运行,Web App Manifest添加桌面图标,CSS和JavaScript提升原生体验。实践中需注意兼容性、性能优化和用户体验。PWA技术能提升小程序的性能和用户体验,助力开发者打造优质小程序。
318 0
|
存储 关系型数据库 MySQL
SQLite的应用场景有哪些?
【8月更文挑战第21天】SQLite的应用场景有哪些?
670 3
|
运维 Serverless API
四大软件架构:掌握单体、分布式、微服务、Serverless 的精髓
如果一个软件开发人员,不了解软件架构的演进,会制约技术的选型和开发人员的生存、晋升空间。这里我列举了目前主要的四种软件架构以及他们的优缺点,希望能够帮助软件开发人员拓展知识面。
一款非常棒的十六进制编辑器 —— 010 Editor
一款非常棒的十六进制编辑器 —— 010 Editor
|
5G UED
5G NR中的寻呼过程是如何工作的?
【8月更文挑战第31天】
526 0
|
SQL 开发框架 关系型数据库
基于SqlSugar的数据库访问处理的封装,支持多数据库并使之适应于实际业务开发中
基于SqlSugar的数据库访问处理的封装,支持多数据库并使之适应于实际业务开发中
|
SQL 流计算
在Flink SQL中,如果在使用表别名后,WHERE子句中使用了别名,可能会出现找不到表的问题
【1月更文挑战第4天】【1月更文挑战第18篇】在Flink SQL中,如果在使用表别名后,WHERE子句中使用了别名,可能会出现找不到表的问题
176 1
|
存储 前端开发 Linux
NetCore开发的分布式文件上传系统
一个基于.Net Core构建的简单、跨平台分布式文件上传系统,支持分块上传、多个项目同时上传、接口权限控制采用JWT机制。
296 0
NetCore开发的分布式文件上传系统