编写一个c++程序,设计一个函数year可以对键盘输入的年份,判断该年是平年还是闰年,并在该函数中输出判断结果

时间: 2023-05-30 13:04:32 浏览: 99
#include <stdio.h> void year(int y) { if ((y % 4 == 0 && y % 100 != 0) || y % 400 == 0) { printf("%d年是闰年\n", y); } else { printf("%d年是平年\n", y); } } int main() { int y; printf("请输入一个年份:"); scanf("%d", &y); year(y); return 0; }
相关问题

编写一个C++程序,随机生成NextDate函数的100条测试用例

``` #include <stdio.h> #include <stdlib.h> #include <time.h> int NextDate(int year, int month, int day); int main() { srand(time(NULL)); // 设置随机数种子为当前时间 int year, month, day; for (int i = 0; i < 100; i++) { // 随机生成年月日 year = rand() % 100 + 1900; // 1900年到1999年之间 month = rand() % 12 + 1; // 1月到12月之间 if (month == 2) { // 2月特殊处理 if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) { // 闰年 day = rand() % 29 + 1; // 1号到29号之间 } else { // 平年 day = rand() % 28 + 1; // 1号到28号之间 } } else if (month == 4 || month == 6 || month == 9 || month == 11) { // 小月 day = rand() % 30 + 1; // 1号到30号之间 } else { // 大月 day = rand() % 31 + 1; // 1号到31号之间 } printf("%d-%02d-%02d -> ", year, month, day); NextDate(year, month, day); printf("\n"); } return 0; } int NextDate(int year, int month, int day) { int nextYear, nextMonth, nextDay; if (year < 1900 || year > 1999 || month < 1 || month > 12 || day < 1 || day > 31) { printf("输入日期不合法\n"); return -1; } if (month == 2) { // 2月特殊处理 if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) { // 闰年 if (day == 29) { nextYear = year; nextMonth = 3; nextDay = 1; } else if (day < 29) { nextYear = year; nextMonth = month; nextDay = day + 1; } else { printf("输入日期不合法\n"); return -1; } } else { // 平年 if (day == 28) { nextYear = year; nextMonth = 3; nextDay = 1; } else if (day < 28) { nextYear = year; nextMonth = month; nextDay = day + 1; } else { printf("输入日期不合法\n"); return -1; } } } else if (month == 4 || month == 6 || month == 9 || month == 11) { // 小月 if (day == 30) { nextYear = year; nextMonth = month + 1; nextDay = 1; } else if (day < 30) { nextYear = year; nextMonth = month; nextDay = day + 1; } else { printf("输入日期不合法\n"); return -1; } } else { // 大月 if (day == 31) { if (month == 12) { nextYear = year + 1; nextMonth = 1; nextDay = 1; } else { nextYear = year; nextMonth = month + 1; nextDay = 1; } } else if (day < 31) { nextYear = year; nextMonth = month; nextDay = day + 1; } else { printf("输入日期不合法\n"); return -1; } } printf("%d-%02d-%02d\n", nextYear, nextMonth, nextDay); return 0; } ```

用C++定义一个结构体类型(包括年、月、日)。编写程序读入“年-月-日”格式的日期,并计算该日期是该年中的第几天。注意闰年问题

以下是C++代码示例: ```cpp #include <iostream> using namespace std; struct Date { int year; int month; int day; }; int daysOfMonth(int year, int month) { switch (month) { case 2: if (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0)) { return 29; // 闰年2月有29天 } else { return 28; // 平年2月有28天 } case 4: case 6: case 9: case 11: return 30; // 4月、6月、9月、11月有30天 default: return 31; // 其他月份有31天 } } int getDayOfYear(Date date) { int days = 0; for (int i = 1; i < date.month; i++) { days += daysOfMonth(date.year, i); } days += date.day; return days; } int main() { Date date; cout << "请输入日期(格式为年-月-日):" << endl; scanf("%d-%d-%d", &date.year, &date.month, &date.day); int days = getDayOfYear(date); cout << date.year << "年" << date.month << "月" << date.day << "日是该年的第" << days << "天" << endl; return 0; } ``` 在上面的代码中,我们首先定义了一个 `Date` 结构体类型,表示年、月、日。然后我们实现了一个 `daysOfMonth` 函数,用于计算每个月份的天数,注意闰年的情况。接着,我们实现了一个 `getDayOfYear` 函数,用于计算一个日期是该年的第几天。最后,在 `main` 函数中读入日期并输出该日期是该年的第几天。

相关推荐

6-4 日期类 - 1. 判断闰年 分数 10 全屏浏览题目 切换布局 作者 李祥 单位 湖北经济学院 请编写函数,判断闰年。 函数原型 // 判断闰年 bool IsLeapYear(int year); 说明:参数 year 为年数。若 year 是闰年,则函数值为true,否则为false。 按照现行历法(格里高利历):四年一闰,百年不闰,四百年再闰。即:年数是 4 的倍数且不是 100 的倍数,或者年数是 400 的倍数,则为闰年,否则为平年。 注:为简化函数设计,作以下限制 年数一律为正整数(即不考虑公元前的情况); 不考虑历法演变过程(即假定从一开始就一直使用现行的历法)。 请按下列步骤,以工程项目的形式来组织程序。 创建文件夹“日期类”,然后将日期类的所有文件都保存到该文件夹中。 进入 Dev-C++,创建 C++ 项目“Project”,保存项目文件 Project.dev。 在项目中创建头文件 MyDate.h 和源程序文件 MyDate.cpp。 在头文件 MyDate.h 中声明日期类。 MyDate.h #ifndef _MyDate_h_ #define _MyDate_h_ // 定义日期类 class MYDATE { public: // 判断闰年 static bool IsLeapYear(int year); }; #endif 在程序文件 MyDate.cpp 中编写函数。 MyDate.cpp #include <iostream> #include <iomanip> using namespace std; #include "MyDate.h" /* 你提交的代码将被嵌在这里 */ 在程序文件 main.cpp 中编写主函数进行测试。 main.cpp #include <iostream> using namespace std; #include "MyDate.h" int main() { int y; cin >> y; if (MYDATE::IsLeapYear(y)) { cout << "闰年\n"; } else { cout << "平年\n"; } return 0; } 输入样例1 2008 输出样例1 闰年 输入样例2 2018 输出样例2 平年 代码长度限制 16 KB 时间限制 400 ms 内存限制 64 MB

最新推荐

recommend-type

高级色系PPT11.pptx

高级色系PPT11.pptx
recommend-type

node-v7.9.0-linux-x86.tar.xz

Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。
recommend-type

基于tensorflow的的cnn卷积神经网络的图像识别分类

【作品名称】:基于tensorflow的的cnn卷积神经网络的图像识别分类 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。
recommend-type

### 数据分析概念、使用技巧、优缺点的文章

数据分析是指通过收集、清洗、处理和解释数据,以发现其中的模式、趋势和关联,从而提供决策支持或洞察见解的过程。它在各行各业中都扮演着至关重要的角色,从市场营销到科学研究,从金融领域到医疗保健,都有广泛的应用。
recommend-type

对微信帐单进行数据分析

#pip install pandas -i https://mirrors.aliyun.com/pypi/simple #安装pandas处理数据模块 #pip install xlwt -i https://mirrors.aliyun.com/pypi/simple #安装excel模块 #pip install openpyxl #从微信导出对帐帐单 import pandas as pd #引入pandas,重命名为pd,Python3.9.10版本的Pandas无法兼容低版本的xls import numpy as np #导入均值模块 #从第17行读取csv格式的帐单 df = pd.read_csv('微信支付账单(20230101-20230401).csv',header=16) #分析数据 ...... #将分析数据另存为out.xlsx ..... #进行交易进间分析 ...... #统计交易对方 ...... #将结果保存到excel ..... writer.close()
recommend-type

zigbee-cluster-library-specification

最新的zigbee-cluster-library-specification说明文档。
recommend-type

管理建模和仿真的文件

管理Boualem Benatallah引用此版本:布阿利姆·贝纳塔拉。管理建模和仿真。约瑟夫-傅立叶大学-格勒诺布尔第一大学,1996年。法语。NNT:电话:00345357HAL ID:电话:00345357https://theses.hal.science/tel-003453572008年12月9日提交HAL是一个多学科的开放存取档案馆,用于存放和传播科学研究论文,无论它们是否被公开。论文可以来自法国或国外的教学和研究机构,也可以来自公共或私人研究中心。L’archive ouverte pluridisciplinaire
recommend-type

实现实时数据湖架构:Kafka与Hive集成

![实现实时数据湖架构:Kafka与Hive集成](https://img-blog.csdnimg.cn/img_convert/10eb2e6972b3b6086286fc64c0b3ee41.jpeg) # 1. 实时数据湖架构概述** 实时数据湖是一种现代数据管理架构,它允许企业以低延迟的方式收集、存储和处理大量数据。与传统数据仓库不同,实时数据湖不依赖于预先定义的模式,而是采用灵活的架构,可以处理各种数据类型和格式。这种架构为企业提供了以下优势: - **实时洞察:**实时数据湖允许企业访问最新的数据,从而做出更明智的决策。 - **数据民主化:**实时数据湖使各种利益相关者都可
recommend-type

如何用python编写api接口

在Python中编写API接口可以使用多种框架,其中比较流行的有Flask和Django。这里以Flask框架为例,简单介绍如何编写API接口。 1. 安装Flask框架 使用pip命令安装Flask框架: ``` pip install flask ``` 2. 编写API接口 创建一个Python文件,例如app.py,编写以下代码: ```python from flask import Flask, jsonify app = Flask(__name__) @app.route('/api/hello', methods=['GET']) def hello():
recommend-type

JSBSim Reference Manual

JSBSim参考手册,其中包含JSBSim简介,JSBSim配置文件xml的编写语法,编程手册以及一些应用实例等。其中有部分内容还没有写完,估计有生之年很难看到完整版了,但是内容还是很有参考价值的。