02不吉利日期,noi练习题,小学生编程

02:不吉利日期

总时间限制: 

1000ms

内存限制: 

65536kB

描述

在国外,每月的13号和每周的星期5都是不吉利的。特别是当13号那天恰好是星期5时,更不吉利。已知某年的一月一日是星期w,并且这一年一定不是闰年,求出这一年所有13号那天是星期5的月份,按从小到大的顺序输出月份数字。(w=1..7)

输入

输入有一行,即一月一日星期几(w)。(1 <= w <= 7)

输出

输出有一到多行,每行一个月份,表示该月的13日是星期五。

样例输入

7

样例输出

1
10

提示

1、3、5、7、8、10、12月各有31天
4、6、9、11月各有30天
2月有28天

题目解析:

首先需要先读懂题目中各个变量的意义,输入,输出是什么。

本题中输入的为1月1日的星期,假设输入数字为2 ,则1月1日星期二。如果输入的数字为4,则表示的是1月1日星期四。

于是我们可以先写出一月份的日期及对应的星期,去找到题目要求当中的1月13日是否为星期五即可。

定义day为日,根据日的变化规律,为1到31,所以当我们写一月份的日期时,可以直接用循环语句中的i。

定义week为星期,根据星期的变化规律,当week==7的时候,下一个的值为week=1,若week不等于7的时候,例如为5,下一个值为6,可写成week++。

此知识点设计循环语句中输出两个变量。例如之前练习过的九九乘法表。

#include<bits/stdc++.h>
using namespace std;
int main(){
	int week;
    inr day;
	cin>>week;
	for(int i=1;i<=31;i++){
        day=i;
		cout<<"1月"<<i<<"日"<<"星期"<<week<<endl;
		if(week==7){
			week=1;
		} else{
			week++;
		}
	} 
	return 0;

} 

此时可以输出一月份的日期和对应的星期

现在我们想要去找一月的13号是不是星期五,加一个判断语句即可

if(week==5&&day==13){
cout<<"不吉利";
}

当我们写好了一月的时候,同理可以写2月的,3月的。

假设每一个月都有31天的时候,可以写成12个循环的形式

#include<bits/stdc++.h>
using namespace std;
int main(){
	int week=7;
	for(int j=1;j<=12;j++){
		for(int i=1;i<=31;i++){
			//cout<<j<<"月"<<i<<"日星期"<<week<<endl;
			if(i==13&&week==5){
				cout<<j<<"月不吉利"<<endl; 
			} 
		if(week==7){
			week=1;
		}
		else{
			week++;
		}
	}
}
	return 0;
}  

但是每个月份的天数不全都是31天,则需要利用数组

#include<bits/stdc++.h>
using namespace std;
int main(){
	int m[12]={31,28,31,30,31,30,31,31,30,31,30,31}; 
	int week=7;
	for(int j=1;j<=12;j++){
		for(int i=1;i<=m[j-1];i++){
			//cout<<j<<"月"<<i<<"日星期"<<week<<endl;
			if(i==13&&week==5){
				cout<<j<<"月不吉利"<<endl; 
			} 
		if(week==7){
			week=1;
		}
		else{
			week++;
		}
	}
}
	return 0;
}  

上述的方法是以每个月为单位,做出12个月,然后找到哪几个月满足不吉利日期。

还有一种方法是以年为单位,给出365天,去输出一年的第一天是1月1日星期日,第二天是1月2日星期一,一直到第365天。所以我们需要考虑的是week是1到7循环,但是日期是以每个月的天数发生变更。例如1月31日的下一个是2月1日,2月28日的下一个是3月1日。

我们依然做一个简单版本,假设每个月都有31天,则day这个变量和week写法类似,当day==31时,day的下一个值为1。

#include<bits/stdc++.h>
using namespace std;
int main(){
	int week=7;
	int day=1;
	int a=1;//月份 
	for(int i=1;i<=365;i++){
		cout<<a<<"月"<<day<<"日星期"<<week<<endl;
		if(day==31){
			day=1;
			a++; 
		}	
		else{
			day++;
		}
		if(week==7){
			week=1;
		}
		else{
			week++;
		}
	}

	return 0;
} 

输出

之后我们依然需要考虑到每个月份天数不同的问题,和之前的方法一样,增加数组。

#include<bits/stdc++.h>
using namespace std;
int main(){
	int m[12]={31,28,31,30,31,30,31,31,30,31,30,31};
	int week=7;
	int day=1;
	int a=1;//月份 
	for(int i=1;i<=365;i++){
		//cout<<a<<"月"<<day<<"日星期"<<week<<endl;
		if(day==13&&week==5){
				cout<<a<<"月不吉利"<<endl; 
			}
		if(day==m[a-1]){
			day=1;
			a++; 
		}	
		else{
			day++;
		}
		if(week==7){
			week=1;
		}
		else{
			week++;
		}
	}
	return 0;
} 

简单课后总结,欢迎大家一起交流学习。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/339337.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

设计模式—行为型模式之观察者模式

设计模式—行为型模式之观察者模式 观察者模式(Observer Pattern)&#xff1a;定义对象间的一种一对多依赖关系&#xff0c;使得每当一个对象状态发生改变时&#xff0c;其相关依赖对象皆得到通知并被自动更新。观察者模式又叫做发布-订阅&#xff08;Publish/Subscribe&#…

Qt应用开发(安卓篇)——Hello Qt On Android

一、前言 这一篇从实际出发&#xff0c;讲述如何创建、编译和部署Qt On Android项目。 二、ADB调试 ADB的全称为Android Debug Bridge&#xff0c;就是起到调试桥的作用&#xff0c;主要用于连接计算机与Android 设备&#xff0c;以便进行调试和数据传输。ADB 可以实现以下主要…

如何使用CRM实现销售流程自动化?CRM如何提高销售效率?

科技在当今时代扮演着重要的角色。在商业领域&#xff0c;我们用很多不同的软件来完成业务、提高效率。销售被认为是一个企业的灵魂。没有销售&#xff0c;企业很难生存。为了使销售更加有效&#xff0c;自动化是每个企业都应该采用的一个重要战略。实现销售过程自动化最简单的…

【视频媒体】深入了解直播视频流

深入了解直播视频流&#x1f3a5; YouTube、TikTok live和Twitch上的直播视频是如何工作的&#xff1f; 直播视频流与常规流媒体不同&#xff0c;因为视频内容通过互联网近乎实时发送&#xff0c;通常只有几秒钟的延迟。 下图解释了实现这一目标背后所发生的事情。 步骤1&…

【QT+QGIS跨平台编译】之四:【libSSH2+Qt跨平台编译】(一套代码、一套框架,跨平台编译)

文章目录 一、libSSH2介绍二、文件下载三、文件分析四、pro文件五、编译实践 一、libSSH2介绍 libSSH2是一个开源的C函数库&#xff0c;用来实现SSH2协议。 SSH(Secure SHell)到目前为止有两个不兼容的版本——SSH1和SSH2。 SSH2避免了RSA的专利问题&#xff0c;并修补了CRC…

HR人才测评,招聘技术部经理的胜任力素质模型与任职资格

招聘技术部经理是企业招聘中的关键职位之一。为了确保招聘到胜任的人才&#xff0c;需要制定一个详细的胜任力素质模型和任职资格要求。下面将详细说明。 企业版团测 - 在线人才测评系统、人才测评工具、人才盘点、团队测评、心理测评、职业测评 - 在线工具网团测&#xff0c;…

Python爬虫--5

1、异步爬虫 异步爬虫的方式&#xff1a; &#xff08;1&#xff09;多线程&#xff0c;多进程&#xff08;不建议使用&#xff09; 好处&#xff1a;可以为相关阻塞的操作单独开启线程或者进程&#xff0c;阻塞操作就可以异步执行。 弊端&#xff1a;无法无限制的开启多线程…

3.php开发-个人博客项目输入输出类留言板访问IPUA头来源

目录 知识点 : 输入输出 配置环境时&#xff1a; 搜索框&#xff1a; 留言板&#xff1a; 留言板的显示&#xff08;html&#xff09;&#xff1a; php代码显示提交的留言&#xff1a; 写入数据库 对留言内容进行显示&#xff1a; php全局变量-$_SERVER 检测来源 墨…

1.11马原总复习PART2

社会一定发展阶段 &#xff0c;生产力&#xff0c;生产关系总和 一定经济基础之上的意识形态&#xff0c;制度、组织和设施 普遍联系的根本内容和变化发展的内在动力 唯物辩证法的实质和核心 贯穿其他规律的中心线索 提供了根本方法矛盾分析法 价值由社会必要劳动时间决定…

安装ddddocr中遇到的问题

1、需要先安装&#xff1a; pip3 install pyinstaller --no-use-pep517 pip install scikit-build pip install setuptools pip install pyinstaller pip install pillow 重要是的是保证一个python 环境&#xff0c;多个python环境会导致各种问题。并且保证python>3.8…

LTC2944库仑计(电量计)芯片应用笔记(Arduino,ESP32)

一、一些基础知识 1.蓄电池的容量单位 &#xff08;1&#xff09;毫安时mAH 蓄电池的容量一般会采用毫安时&#xff08;mAH&#xff09;为单位&#xff0c;比如2000mAH的蓄电池意思是该蓄电池理论上可以以2000mA的电流持续放电1小时&#xff0c;2000mA*1H2000mAH。当然这个是…

C++从小白到初级工程师【个人学习笔记】

目录 1.背景2.基础二维数组概念二维数组定义方式 二维数组数组名称概念例子 函数的分文件编写概念示例 指针指针的基本概念指针变量的定义和使用 空指针和野指针空指针实例野指针实例 const修饰指针概念const修饰指针 --- 常量指针 指针和数组作用示例 指针和函数作用示例 指针…

代码随想录 Leetcode150. 逆波兰表达式求值

题目&#xff1a; 代码(首刷看解析 2024年1月21日&#xff09;&#xff1a; class Solution { public:int evalRPN(vector<string>& tokens) {stack<long long> st; for (int i 0; i < tokens.size(); i) {if (tokens[i] "" || tokens[i] &qu…

雍禾医疗获“年度医疗大健康消费企业”奖项 雍禾植发品牌深入人心

不久前&#xff0c;在钛媒体2023 T-EDGE全球创新大会上&#xff0c;钛媒体重磅发布了2023 EDGE AWARDS全球创新评选榜单。希望一起透过这些推动行业变革的公司、个人和产品&#xff0c;全面展现2023的产业格局。 “植发第一股”雍禾医疗荣获“年度医疗大健康消费企业”奖项。雍…

Unity 编辑器篇|(十二)自定义编辑器窗体(EditorWindow,ScriptableWizard) (全面总结 | 建议收藏)

目录 1. 前言2. 创建自定义窗体&#xff1a;EditorWindow2.1 参数总览2.2 EditorWindow的生命周期2.3 区别&#xff1a;CreateWindow()&#xff0c;GetWindow() &#xff0c;GetWindowWithRect()2.4 代码示例 3. 创建对话框窗体&#xff1a;ScriptableWizard3.1 参数总览3.2 区…

Java并发基础:Executor接口和Executors类的区别

Executor是Java中的一个接口&#xff0c;它定义了一种将任务提交与任务执行机制&#xff08;包括线程管理、调度等&#xff09;分离的方式&#xff0c;Executors是一个工具类&#xff0c;它提供了多个静态工厂方法&#xff0c;用于创建不同类型的Executor实例。 代码案例 下面…

Camera基础原理与畸变补偿

Camera基础原理与畸变补偿 Camera知识大盘点 Camera的构成看起来并不复杂&#xff0c;核心是镜头感光芯片&#xff0c;以及其它辅助部件。但大家也都知道光学成像是一门非常深奥且尖端的科学&#xff0c;这其中消费者可以拿来讨论的话题非常之多。现在就来谈谈摄像头&#xf…

php目录操作示例

目录 1.常用函数 2.列举当前目录列表 3.判断是否是文件夹 1.常用函数 函数名功能scandir 列出指定路径中的文件和目录 opendir 打开文件夹&#xff0c;返回操作资源 readdir读取文件夹资源closedir 关闭文件夹操作资源 is_dir 判断是否是文件夹 filetype 显示是文件夹还是文…

若依微服务框架,富文本加入图片保存时出现JSON parse error: Unexpected character (‘/‘ (code 47)):...

若依微服务框架&#xff0c;富文本加入图片保存时出现JSON parse error: Unexpected character 一、问题二、解决1.修改网关配置2、对数据进行加密解密2.1安装插件2.2vue页面加密使用2.3后台解密存储 一、问题 若依微服务项目在使用富文本框的时候&#xff0c;富文本加入图片进…

IDEA(十)2022版本 Services中服务窗口不显示端口号解决

目录 一、问题描述二、问题分析三、解决方案3.1 设置启动参数【生效】3.2 方法二&#xff1a;设置环境变量【不生效】3.3 方法三&#xff1a;删除缓存【不生效】 四、补充&#xff1a;如何手动控制端口显示 一、问题描述 我们在使用 IDEA 的过程中&#xff0c;会发现在 Servic…