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

news/2024/11/30 10:44:46/

首先看一下题

描述

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

保证年份为4位数且日期合法。

进阶:时间复杂度:O(n) ,空间复杂度:O(1) 

输入描述:

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

输出描述:

输出是这一年的第几天

示例1

输入:

2012 12 31

输出:

366

示例2

输入:

1982 3 4

输出:

63

一、问题分析

首先读题,仔细看描述中的内容,发现需求是

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

2.保证年份为4位数且日期合法

3.进阶:时间复杂度:O(n),空间复杂度:O(1)

4.输入描述:输入一行,每行空格分割,分别是年,月,日

5.输出描述:输出是这一年的第几天

二、解题思路

1.这道题需要计算闰年和非闰年

2.如果是4的倍数是闰年

3.还需要知道每个月有几天,一三五七八十十二有31天,二月非闰年28天,闰年29天,剩下的月份30天

4.然后就可以开始引入标准输入输出库库了

#include <stdio.h>

5.然后开始主程序

int main() {

int m[12] = {31,30,28,30,31,30,31,31,30,31,30,31};

6.我们定义三个整数int year, month, day;还有第几天,dayofyear = 0;

while(scanf("%d %d %d", &year, &month, &day) != EOF) {

7.for(int i = 0; i < month; i++){

dayofyear += m[i];

}

dayofyear += day;

if((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {

if(month > 2) dayofyear++;

}

printf("%d\n", dayofyear);

return 0;

}

#include <stdio.h>int main() {int m[12] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};int year, month, day;while (scanf("%d %d %d", &year, &month, &day) != EOF) { int dayofyear = day;for(int i = 0; i < month - 1; i++) {dayofyear += m[i];}if((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {if(month > 2) {dayofyear++;}} printf("%d\n", dayofyear);}return 0;
}


http://www.ppmy.cn/news/1551173.html

相关文章

理解Parquet文件和Arrow格式:从Hugging Face数据集的角度出发

parquet发音&#xff1a;美 [pɑrˈkeɪ] 镶木地板&#xff1b;拼花木地板 理解Parquet文件和Arrow格式&#xff1a;从Hugging Face数据集的角度出发 引言 在机器学习和大数据处理中&#xff0c;数据的存储和传输格式对于性能至关重要。两种广泛使用的格式是 Parquet 和 Arr…

电机驱动MCU介绍

电机驱动MCU是一种专为电机控制设计的微控制器单元&#xff0c;它集成了先进的控制算法和高性能的功率输出能力。 电机驱动MCU采用高性能的处理器核心&#xff0c;具有快速的运算速度和丰富的外设接口。它内置了专业的电机控制算法&#xff0c;包括PID控制、FOC&#xff08;Fi…

Linux,如何将文件从一台服务器传到另一台服务器上

摘要 将文件从一台服务器上传到另一台服务器上用到了scp命令。 scp&#xff08;Secure Copy Protocol&#xff09;命令用于在本地和远程主机之间或两个远程主机之间安全地复制文件或目录。它基于SSH协议&#xff0c;因此文件传输过程中会进行加密。以下是scp命令的详细解释及…

十二、正则表达式、元字符、替换修饰符、手势和对话框插件、字符串截取

1. 正则表达式 1.1 基本使用 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Document</title&g…

python爬虫安装教程

Python爬虫是用于从网站上自动抓取信息的程序。在开始之前&#xff0c;请确保您了解并遵守目标网站的服务条款&#xff0c;尊重版权法&#xff0c;并且在合理合法的范围内使用爬虫技术。 安装环境 安装Python&#xff1a;首先确保您的计算机上已经安装了Python。推荐版本为3.…

Ubuntu FTP服务器的权限设置

在Ubuntu中设置FTP服务器的权限&#xff0c;主要涉及到用户权限管理和文件系统权限设置。以下是详细的步骤和配置方法&#xff1a; 安装FTP服务器软件 首先&#xff0c;确保已经安装了FTP服务器软件。常用的FTP服务器软件包括vsftpd和Pure-FTPd。以下是使用vsftpd作为示例的安…

PDF版地形图矢量出现的问题

项目描述&#xff1a;已建风电场道路测绘项目&#xff0c;收集到的数据为PDF版本的地形图&#xff0c;图上标注了项目竣工时期的现状&#xff0c;之后项目对施工区域进行了复垦恢复地貌&#xff0c;现阶段需要准确的知道实际复垦修复之后的道路及其它临时用地的面积 解决方法&…

【微服务】消息队列与微服务之微服务详解

微服务 单体架构 传统架构&#xff08;单机系统&#xff09;&#xff0c;一个项目一个工程&#xff1a;比如商品、订单、支付、库存、登录、注册等等&#xff0c;统一部署&#xff0c;一个进程all in one的架构方式&#xff0c;把所有的功能单元放在一个应用里。然后把整个应…