计蒜客详解合集(2)期

目录

T1126——单词倒排

T1617——地瓜烧

T1612——蒜头君的数字游戏

T1488——旋转单词

T1461——校验信用卡号码

T1437——最大值和次大值


T1126——单词倒排

超级水的一道题,和T1122类似但更简单,分割后逆序输出即可~

  • 编写程序,读入一行英文(只包含字母和空格,单词间以单个空格分隔),将所有单词的顺序倒排并输出,依然以单个空格分隔。
  • 输入格式:输入为一个字符串 (字符串长度至多为 100)。
  • 输出格式:输出为按要求排序后的字符串。

#include <iostream>
#include <string>
#include <vector>
using namespace std;int main(int argc, char** argv) {string S;vector<string> V;getline(cin,S);string temp;//分割单词 for(int i=0;i<=S.size()-1;i++){temp+=S[i];if(S[i]==' '||i==S.size()-1)//最后一个单词要有单独的操作 {V.push_back(temp);temp.clear();}	}//删除除了最后一个单词以外,末尾的空格 for(int i=0;i<V.size()-1;i++){string temp=V[i];temp.erase(temp.size()-1);V[i]=temp;}for(int i=V.size()-1;i>=0;i--){cout<<V[i]<<" ";}cout<<endl;return 0;
}

T1617——地瓜烧

 同样是水题,不解释~

  • 恭头君喜欢喝地瓜烧,刚开始他在小卖部买了  地瓜烧,已知 人空可以换一瓶地风烧,请帮他计算一下,最后能喝几瓶地瓜院。(小卖部不允许借商品)
  • 输入格式:行包括两个整数n,k (1< n,k <=108)。
  • 输出格式:输出一个整数,表示蒜头君最多能喝地瓜烧的瓶数。

#include <iostream>
using namespace std;/* run this program using the console pauser or add your own getch, system("pause") or input loop */int main(int argc, char** argv) 
{int n=0,k=0;cin>>n>>k;int num1=n;int num2=n/k;cout<<(num1+num2)<<endl;return 0;
}

 

T1612——蒜头君的数字游戏

水题,太简单不解释,记得别把多余的0输入就行,由于没有明确的循环次数,本题用while循环更适合一些。

  • 蒜头君最近被要求参加一个数字游戏,要求他把看刊的一系列整数长度不一定,以0 结束,最多不过 100 个),记住了然后反着念出来表示结中的数字0就不要今出来了,这对蒜头君的那点记忆力来说实在是太难了,所以请你帮他偏程解决这个问题。
  • 输入格式:行内输入一系列整数 (大小在(1~10^9 之内) ,以0结束,用空格来分隔。
  • 输出格式:行内倒着输出这一系列整数,以空格间隔。
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;int main(int argc, char** argv) 
{int num=-1;vector<int> V;//初始化必备变量 while(num!=0){cin>>num;V.push_back(num);}reverse(V.begin(),V.end());//翻转 for(vector<int>::iterator it=V.begin()+1;it!=V.end();it++)cout<<(*it)<<" ";cout<<endl;//从第二个下标开始迭代,去掉多余的0 return 0;
}

T1488——旋转单词

  • 今天的英语课,王老师为了复习以前学过的单词,提高学生的学习兴趣。想出了一个主意:读入 M组数据 ,其中每组数据一个单词(单长度 36 字个字符)和一个整数N(1~36),从该单词末位开始逐位相移到单词的开头。如果还没达到N倍  ,则再从末位未位开移,直到 N 为止,求称 N 位后的新单词,你能编程帮助贝贝最快完成任务吗?
  • 输入格式:文件共有2 x M +1行,第1行为 M,第2行开始为体数据,每一组数据有2行,第1行字串L,第2行为N.
  • 输出格式:共 M 行,每行为旋转后的字串。

如题,抽象本题的重点在于以下几点:

1.输入一个字符串并匹配一个专属的数字

2.将每一个字符串后n位按照原顺序前置

对于要点1,此处采用自定义类型压入vector解决;对于要点2,采用双循环遍历解决。

具体见代码:

#include <iostream>
#include <vector>
#include <algorithm>
#include <string>
using namespace std;struct yuansu{string s;int num;//自定义类型符合题意要求 
};int main(int argc, char** argv) 
{vector<yuansu> V;int n=0;cin>>n;for(int i=1;i<=n;i++){yuansu temp;cin>>temp.s;cin>>temp.num;V.push_back(temp);}//接受题干数据 vector<string> G;//G用来存放处理后的字符串 for(int i=0;i<=V.size()-1;i++){string linshi;//临时的字符串 string goal=V[i].s;int n=V[i].num;int length=goal.size()-1;//获取当前元素的字符串和数字M,以及当前字符串的下标最大值 for(int j=length,k=1;k<=n;j--,k++){//从最后一个字符开始操作,选取n个字符(即题干中的M) linshi+=goal[j];//采用字符串的加法赋值 }reverse(linshi.begin(),linshi.end());//注意!由于字符串的加法是将新的字符加到最后面,所以此处先进行翻转使其符合题意 for(int p=0;p<=length-n;p++){linshi+=goal[p];//将前length-n个不需要翻转的字符串补充进去 }G.push_back(linshi);//压入G中,进行下一组元素的操作 } for(vector<string>::iterator it=G.begin();it!=G.end();it++)cout<<(*it)<<endl;//遍历G,得出答案 return 0;
}

加入一个藏头诗版的测试用例:完美AC

T1461——校验信用卡号码

 如题,本题需要解决的本质就是多个字符串转换为整型数据的过程。主要的考点在于如下3个:

1.循环输入多个字符串并不间断

2.将字符串处理为整型数据

3.完成对整形数据的检验

上述三个要求通过STL可以很轻松地解决,具体做法写在了代码注释之中。

#include <iostream>
#include <vector>
#include <string>
#include <algorithm>
using namespace std;void vectorPrint(vector<int> T1)
{for(vector<int>::iterator it=T1.begin();it!=T1.end();it++)cout<<(*it)<<" ";//打印整型vector的方法,没有实际意义,仅仅用来调试	
} /* run this program using the console pauser or add your own getch, system("pause") or input loop */int main(int argc, char** argv) 
{string temp;//定义临时目标字符串 while (cin>>temp)//当输入字符串时,循环就不停止,一直进入并计算 {
//		cout<<temp<<endl;vector<int> V;for(int i=0;i<=temp.size()-1;i++){int t=temp[i]-48;//将字符串的每一位处理为int型的数据,并且压入int型的vector V.push_back(t);} 
//		vectorPrint(V);reverse(V.begin(),V.end());//逆向操作后,从头开始按照奇数偶数位遍历。 int jishu=0,oushu=0,sum=0;for(int i=0;i<=V.size()-1;i+=2){jishu+=V[i];//奇数位直接相加 } for(int i=1;i<=V.size()-1;i+=2){V[i]*=2;if(V[i]>=10)V[i]-=9;oushu+=V[i];//偶数位判断*2是否大于10,大于10需要减9 }sum=jishu+oushu;//求和后判断是否可以整除10,完杀 if(sum%10==0)cout<<"Pass"<<endl;elsecout<<"Fail"<<endl;}return 0;
}

T1437——最大值和次大值

比较简单的题,用STL库可以大幅度降低代码复杂度:将int型的数字压入到vector中,调用sort实现从小到大排序,再采用reverse将其翻转为从大到小。第一个元素(最大值)首先输出,再遍历后面第一个与最大值不同的元素,其即为题干要求的次大值。

sort和reverse均在头文件“#include <algorithm>”中。

代码如下:

#include <iostream>
#include <vector>
#include <algorithm>using namespace std;/* run this program using the console pauser or add your own getch, system("pause") or input loop */int main(int argc, char** argv) 
{int n=0;cin>>n;vector<int> V;for(int i=1;i<=n;i++){int temp=0;cin>>temp;V.push_back(temp); }sort(V.begin(),V.end());reverse(V.begin(),V.end());//从大到小排序 
//	for(vector<int>::iterator it=V.begin();it!=V.end();it++)
//		cout<<(*it)<<" ";
//	cout<<endl;int max=V[0];cout<<max<<endl;for(int i=1;i<=n-1;i++){if(V[i]!=max){cout<<V[i]<<endl;break;}	} return 0;
}

 

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

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

相关文章

Python---练习:把8名讲师随机分配到3个教室

案例&#xff1a;把8名讲师随机分配到3个教室 列表嵌套&#xff1a;有3个教室[[],[],[]]&#xff0c;8名讲师[A,B,C,D,E,F,G,H]&#xff0c;将8名讲师随机分配到3个教室中。 分析&#xff1a; 思考1&#xff1a;我们第一间教室、第二间教室、第三间教室&#xff0c;怎么表示…

C# .NET Core API Controller以及辅助专案

准备工作 Windows 10Visual Studio 2019(2017就有可以集中发布到publish目录的功能了吧)C#将方法封装(据说可以提高效率,就像是我们用的dll那种感觉新增专案作为我们API的辅助专案(作用类似dll&#xff0c;此处&#xff0c;你也可以在你自己的API专案里建文件夹&#xff0c;但…

什么是UV贴图?

UV 是与几何图形的顶点信息相对应的二维纹理坐标。UV 至关重要&#xff0c;因为它们提供了表面网格与图像纹理如何应用于该表面之间的联系。它们基本上是控制纹理上哪些像素对应于 3D 网格上的哪个顶点的标记点。它们在雕刻中也很重要。 为什么UV映射很重要&#xff1f; 默认情…

网络层+数据链路层+物理层

一)网络层协议: 一)IP协议报头介绍: 咱们的IP协议能够在两点之间规划处一条合适的路径&#xff0c;什么叫做合适&#xff1f;那就得看咱们的TOS是怎么进行选的&#xff0c;比如说选择最大吞吐量&#xff0c;咱们就需要进行选择一个最大的带宽路径&#xff1b; 16位总长度:IP数据…

【数据结构】树的基本性质(计算树的总结点数与叶结点数)

树的基本性质 ⭐️计算树的总结点与叶结点数&#x1f4ab;性质1&#x1f4ab;性质2&#x1f4ab;例题1&#x1f4ab;例题2 ⭐️计算树的总结点与叶结点数 &#x1f4ab;性质1 性质1 树中的结点数等于所有结点的度数之和加1 例如上面这棵树&#xff0c;A的孩子为B、C、D&…

解决win11更新后,文件夹打不开的bug

更新win11系统了&#xff0c;给我更了个bug&#xff0c;找了好多解决方案&#xff0c;发现下面这个可以解决问题。 第一步 找到注册表 第二步 备份注册表 为了防止意外情况&#xff0c;备份注册表。如有意外问题&#xff0c;可以导入导出的注册表进行恢复。 第三步 删除指定…

python3.8及以上版本绑定gdal库的一个注意事项

作者&#xff1a;朱金灿 来源&#xff1a;clever101的专栏 为什么大多数人学不会人工智能编程&#xff1f;>>> gdal和python绑定参考文章&#xff1a;windows环境下python和gdal绑定方法   值得注意的是绑定python3.8及以上版本后在python程序中初始化gdal库时会出…

使用Java语言实现基本RS触发器

使用Java语言实现计算机程序来模拟基本RS触发器的工作过程&#xff0c;通过本账号2023年10月17日所发布博客“使用Java语言实现数字电路模拟器”中模拟基本逻辑门组成半加器电路的方法来模拟基本触发器的组成和时间延迟。 1 基本RS触发器电路结构 基本RS触发器&#xff08;又…

C# PaddleInference.PP-HumanSeg 人像分割 替换背景色

效果 项目 VS2022.net4.8OpenCvSharp4Sdcb.PaddleInference 包含4个分割模型 modnet-hrnet_w18 modnet-mobilenetv2 ppmatting-hrnet_w18-human_512 ppmattingv2-stdc1-human_512 代码 using OpenCvSharp; using Sdcb.PaddleInference; using System; using System.Col…

如何查看网站的https的数字证书

如题 打开Chrome浏览器&#xff0c;之后输入想要抓取https证书的网址&#xff0c;此处以知乎为例点击浏览器地址栏左侧的锁的按钮&#xff0c;如下图 点击“连接是安全的”选项&#xff0c;如下图 点击“证书有效”选项卡&#xff0c;如下图 查看基本信息和详细信息 点击详细信…

1. 深度学习——激活函数

机器学习面试题汇总与解析——激活函数 本章讲解知识点 什么是激活函数&#xff1f; 为什么要使用激活函数&#xff1f; 详细讲解激活函数 本专栏适合于Python已经入门的学生或人士&#xff0c;有一定的编程基础。本专栏适合于算法工程师、机器学习、图像处理求职的学生或人…

2023.11.8 hadoop学习-概述,hdfs dfs的shell命令

目录 1.分布式和集群 2.Hadoop框架 3.版本更新 4.hadoop架构详解 5.页面访问端口 6.Hadoop-HDFS HDFS架构 HDFS副本 7.SHELL命令 8.启动hive服务 1.分布式和集群 分布式: 多台服务器协同配合完成同一个大任务(每个服务器都只完成大任务拆分出来的单独1个子任务)集 群:…

积分上限函数

定积分的形式 a&#xff1a;积分下限 b&#xff1a;积分上限 定积分的值与积分变量无关 积分上限函数的形式 x&#xff1a;自变量 t&#xff1a;积分变量 积分上限是变量&#xff0c;积分下限是常数 定积分的几何意义 x轴所围成面积 x轴以上面积为正 x轴以下面积为负 积分…

Linux的基本指令(1)

目录 快速认识的几个指令 pwd指令 mkdir指令 touch指令 cd指令 clear指令 whoami指令 ls指令 ls -l ls -la ls 目录名 ls -ld 目录名 文件 路径 路径是什么&#xff1f; 路径的形成 ​ 怎么保证路径必须有唯一性&#xff1f; ls -la隐藏文件 隐藏文件的是什…

UML与PlantUML简介

UML与PlantUML 1、UML与PlantUML概述2、PlantUML使用 1、UML与PlantUML概述 UML&#xff08;Unified Modeling Language&#xff09;是一种统一建模语言&#xff0c;为面向对象开发系统的产品进行说明、可视化、和编制文档的一种标准语言&#xff0c;独立于任何具体程序设计语言…

各种业务场景调用API代理的API接口教程(附带电商平台api接口商品详情数据接入示例)

API代理的API接口在各种业务场景中具有广泛的应用&#xff0c;本文将介绍哪些业务场景可以使用API代理的API接口&#xff0c;并提供详细的调用教程和代码演示&#xff0c;同时&#xff0c;我们还将讨论在不同场景下使用API代理的API接口所带来的好处。 哪些业务场景可以使用API…

Opencv for unity 下载

GitHub - EnoxSoftware/VideoPlayerWithOpenCVForUnityExample: This example shows how to convert VideoPlayer texture to OpenCV Mat using AsyncGPUReadback. OpenCV for Unity | Integration | Unity Asset Store

华为云Ascend310服务器使用

使用华为云服务器 cpu: 16vCPUs Kunpeng 920 内存&#xff1a;16GiB gpu&#xff1a;4* HUAWEI Ascend 310 cann: 20.1.rc1 操作系统&#xff1a;Ubuntu aarch64目的 使用该服务器进行docker镜像编译&#xff0c;测试模型。 已知生产环境&#xff1a;mindx版本为3.0.rc3&a…

Linux---(五)三大工具yum、vim、gcc/g++

文章目录 一、yum工具1.Linux中安装软件的方法&#xff1a;2.什么是yum?3.yum源更新 二、Linux编辑器--vim1.IDE例子2.vim&#xff08;1&#xff09;vim的常用模式及切换模式&#xff08;2&#xff09;底层模式常用命令&#xff08;3&#xff09;插入模式常用命令&#xff08;…

新零售时代,传统便利店如何转型?

在零售批发业&#xff0c;如何降低各环节成本、提高业务运转效率、更科学地了解客户服务客户&#xff0c;是每家企业在激烈竞争中需要思考的课题。 对零售批发企业来说&#xff0c;这些问题或许由来已久&#xff1a; &#xff08;1&#xff09;如何对各岗位的员工进行科学的考…