2.模拟问题——5.星期几与字符串对应

在这里插入图片描述

输入输出示例

输入:
9 October 2001
14 October 2001
输出:
Tuesday
Sunday

【原题链接】

字符串处理

C风格的字符串

  • 字符数组,以’\0‘结尾
  • 建议在输入输出语句中使用

C++风格的字符串

#include <string>
using namespace std;
  • 初始化:string str1 = str;//world
  • 连接: str1 + “hello” //即"worldhello"
  • 字符:str1[0]//即’w’
  • 长度:str1.length();
  • 判断相符:str1 == “world”
  • 比较字典顺序:str1 > “abandon”
  • 从C++风格到C风格:str1.c_str();

字符串到数字的对应:map映射

#include <map>
using namespace std;
    map<string,string> myMap = {//<键key的类型,值value的类型>{"Caixukun","ikun"},{"Wuyifan","meigeni"}};char str[100];scanf("%s",str);string name = str;printf("%s的粉丝被称为%s\n",name.c_str(),myMap[name].c_str());

星期的计算

根据今天是星期几,计算要求日期距离今天的距离,然后计算其星期数即可

#include <cstdio>
#include <string>
#include <map>
using namespace std;
int main() {map<string,int> month2int = {{"January",1},{"February",2},{"March",3},{"April",4},{"May",5},{"June",6},{"July",7},{"August",8},{"September",9},{"October",10},{"November",11},{"December",12}};int month_Day[13]={0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};string int2Weekday[7] = {"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"};int year, mon, day;char str[100];string month;bool isBefore;//在过去还是在未来while(scanf("%d%s%d",&day,str,&year)!=EOF){month = str;//把字符串从C风格转换成C++风格mon = month2int[month];if (year < 2024||2024 == year && mon <3 || 2024 ==year &&mon==3&&day <10){isBefore= true;}else{isBefore= false;}//从begin走到endint beginYear, beginMon, beginDay, endYear, endMonth, endDay;if (isBefore){beginYear = year;beginMon = mon;beginDay = day;endYear = 2024;endMonth = 3;endDay = 10;} else{beginYear = 2024;beginMon = 3;beginDay = 10;endYear = year;endMonth = mon;endDay = day;}//2024年3月10日是星期日int totalDay = 0;while(true){if (beginYear==endYear&&beginMon==endMonth&&beginDay==endDay){break;}++totalDay;//next daybool isLeap = beginYear%400==0||beginYear%100!=0&&beginYear%4==0;if(isLeap){month_Day[2]=29;} else{month_Day[2]=28;}++beginDay;if (beginDay>month_Day[beginMon]){beginDay = 1;++beginMon;if (beginMon>12){beginMon=1;beginYear++;}}}if (isBefore){printf("%s\n",int2Weekday[7-totalDay%7].c_str());}else{printf("%s\n",int2Weekday[(totalDay)%7].c_str());}}return 0;
}

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

「优选算法刷题」:最长回文子串

一、题目 给你一个字符串 s&#xff0c;找到 s 中最长的回文子串。 如果字符串的反序与原始字符串相同&#xff0c;则该字符串称为回文字符串。 示例 1&#xff1a; 输入&#xff1a;s "babad" 输出&#xff1a;"bab" 解释&#xff1a;"aba"…

【字符串】马拉车(Manacher)算法

本篇文章参考&#xff1a;比较易懂的 Manacher&#xff08;马拉车&#xff09;算法配图详解 马拉车算法可以求出一个字符串中的最长回文子串&#xff0c;时间复杂度 O ( n ) O(n) O(n) 因为字符串长度的奇偶性&#xff0c;回文子串的中心可能是一个字符&#xff0c;也可能是…

uniapp聊天记录本地存储(详细易懂)

目录 目录 1、通过websocket拿取数据 2、获取聊天数据 3、聊天信息存储 、更新 4、读取聊天记录 5、发送信息&#xff0c;信息获取 6、最终效果 1.聊天信息的存储格式 2、样式效果 写聊天项目&#xff0c;使用到了本地存储。需要把聊天信息保存在本地&#xff0c;实时获…

GPT对话知识库——ARM-Cortex架构分为哪几个系列?每个系列有几种工作模式?各种工作模式之间的定义和区别?每种架构不同的特点和应用需求?

提问模型&#xff1a;GPT-4-TURBO-PREVIEW 提问时间&#xff1a;2024.03.02 1&#xff0c;问&#xff1a; Cortex-M系列有几种工作模式 1&#xff0c;答&#xff1a; Cortex-M系列微控制器是ARM公司开发的一类低功耗、高性能的32位微处理器&#xff0c;广泛应用于嵌入式系统中…

Centos7使用man查找命令时,报错No manual entry for xxxx

Centos7使用man查找命令时&#xff0c;报错No manual entry for xxxx 在Linux中使用man指令查找指令信息时&#xff0c;报No manual entry for xxxx。 比如使用man指令查找sleep3号手册时&#xff0c;出现以下错误&#xff1a; 这是由于没有安装man-pages这个rpm包导致的&#…

掌握基本排序算法:冒泡、选择、插入和快速排序

在计算机科学的世界里&#xff0c;排序是一项基本而重要的操作。无论是数据库管理、搜索引擎&#xff0c;还是日常编程&#xff0c;高效的排序算法都是提高性能的关键。本文将介绍四种基本的排序算法&#xff1a;冒泡排序、选择排序、插入排序和快速排序&#xff0c;并探讨它们…

从0开始学习NEON(1)

1、前言 在上个博客中对NEON有了基础的了解&#xff0c;本文将针对一个图像下采样的例子对NEON进行学习。 学习链接:CPU优化技术 - NEON 开发进阶 上文链接:https://blog.csdn.net/weixin_42108183/article/details/136412104 2、第一个例子 现在有一张图片&#xff0c;需…

获取 Windows 通知中心弹窗通知内容(含工具汉化)

目录 前言 技术原理概述 测试代码和程序下载连接 本文出处链接&#xff1a;https://blog.csdn.net/qq_59075481/article/details/136440280。 前言 从 Windows 8.1 开始&#xff0c;Windows 通知现在以 Toast 而非 Balloon 形式显示&#xff08; Bollon 通知其实现在是应用…

在ubuntu上安装hadoop完分布式

准备工作 Xshell安装包 Xftp7安装包 虚拟机安装包 Ubuntu镜像源文件 Hadoop包 Java包 一、安装虚拟机 创建ubuntu系统 完成之后会弹出一个新的窗口 跑完之后会重启一下 按住首先用ctrlaltf3进入命令界面&#xff0c;输入root&#xff0c;密码登录管理员账号 按Esc 然后输入 …

数据结构常用的字符串函数(中英双释)

头文件&#xff1a;string.h 1.strchr const char * strchr ( const char * str, int character ); Locate first occurrence of character in string str C string. character Character to be located. Return Value A pointer to the first occurrence of character in s…

适用于恢复iOS数据的 10 款免费 iPhone 恢复软件

现在&#xff0c;您可以获得的 iPhone 的存储容量比大多数人的笔记本电脑和台式电脑的存储容量还要大。虽然能够存储数千张高分辨率照片和视频文件、安装数百个应用程序并随身携带大量音乐库以供离线收听固然很棒&#xff0c;但在一个地方拥有如此多的数据可能会带来毁灭性的后…

2.2_5 调度算法

文章目录 2.2_5 调度算法一、适用于早期的批处理系统&#xff08;一&#xff09;先来先服务&#xff08;FCFS&#xff0c;First Come First Serve&#xff09;&#xff08;二&#xff09;短作业优先&#xff08;SJF&#xff0c;Shortest Job First&#xff09;&#xff08;三&a…

SpringMVC总结

SpringMVC SpringMVC是隶属于Spring框架的一部分&#xff0c;主要是用来进行Web开发&#xff0c;是对Servlet进行了封装。 对于SpringMVC我们主要学习如下内容: SpringMVC简介 请求与响应 REST风格 SSM整合(注解版) 拦截器 SpringMVC是处理Web层/表现层的框架&#xff…

易语言源代码5000例

仅供学习研究交流使用 加群下载

探索MyBatis-Plus的高阶用法

引言 MyBatis-Plus 是 MyBatis 的增强工具包&#xff0c;提供了许多方便快捷的功能来简化开发&#xff0c;提高效率。除了基本的 CRUD 操作外&#xff0c;MyBatis-Plus 还提供了一些高级功能&#xff0c;本文将探讨 MyBatis-Plus 的高阶用法&#xff0c;帮助开发者更好地利用该…

Linux服务器搭建超简易跳板机连接阿里云服务器

简介 想要规范内部连接阿里云云服务器的方式&#xff0c;但是最近懒病犯了&#xff0c;先搞一个简易式的跳板机过渡一下&#xff0c;顺便在出一个教程&#xff0c;其他以后再说&#xff01; 配置方法 创建密钥 登录阿里云&#xff0c;找到云服务器ECS控制台&#xff0c;点击…

【小白友好】LeetCode 打家劫舍 III

https://leetcode.cn/problems/house-robber-iii/description/ 前言 建议还是先看看动态规划的基础题再看这个。动态规划是不刷题&#xff0c;自己100%想不出来的。 基础题&#xff1a; 23 小白想法 现在我们想遍历的数据结构不是数组了&#xff0c;而是一颗树。在树上的d…

C++递推

统计每个月兔子的总数 #include<bits/stdc.h> using namespace std; int n,sum0; void f(int); int main() {int a[1000];cin>>n;a[1]1;a[2]2;for(int i3;i<1000;i){a[i]a[i-1]a[i-2];}cout<<a[n];return 0; } void f(int n){}猴子吃桃子 #include<b…

2024年华为OD机试真题-电脑病毒感染-Python-OD统一考试(C卷)

题目描述: 一个局域网内有很多台电脑,分别标注为0 - N-1的数字。相连接的电脑距离不一样,所以感染时间不一样,感染时间用t表示。 其中网络内一个电脑被病毒感染,其感染网络内所有的电脑需要最少需要多长时间。如果最后有电脑不会感染,则返回-1 给定一个数组times表示一个…

在Spring Boot中如何实现异常处理?

在Spring Boot中&#xff0c;异常处理可以通过几种方式实现&#xff0c;以提高应用程序的健壮性和用户体验。这些方法包括使用ControllerAdvice注解、ExceptionHandler注解、实现ErrorController接口等。下面是一些实现Spring Boot异常处理的常用方法&#xff1a; 1. 使用Cont…