字符串的简单处理

第1题     ISBN号码 查看测评数据信息

        每一本正式出版的图书都有一个ISBN号码与之对应,ISBN码包括9位数字、1位识别码和3位分隔符,其规定格式如“x-xxx-xxxxx-x”,其中符号“-”就是分隔符(键盘上的减号),最后一位是识别码,例如0-670-82162-4就是一个标准的ISBN码。ISBN码的首位数字表示书籍的出版语言,例如0代表英语;第一个分隔符“-”之后的三位数字代表出版社,例如670代表维京出版社;第二个分隔符后的五位数字代表该书在该出版社的编号;最后一位为识别码。

识别码的计算方法如下:

        首位数字乘以1加上次位数字乘以2……以此类推,用所得的结果mod 11,所得的余数即为识别码,如果余数为10,则识别码为大写字母X。例如ISBN号码0-670-82162-4中的识别码4是这样得到的:对067082162这9个数字,从左至右,分别乘以1,2,...,9,再求和,即0×1+6×2+……+2×9=158,然后取158 mod 11的结果4作为识别码。

        你的任务是编写程序判断输入的ISBN号码中识别码是否正确,如果正确,则仅输出“Right”;如果错误,则输出你认为是正确的ISBN号码。

输入格式

输入只有一行,是一个字符序列,表示一本书的ISBN号码(保证输入符合ISBN号码的格式要求)。

输出格式

输出共一行,假如输入的ISBN号码的识别码正确,那么输出“Right”,否则,按照规定的格式,输出正确的ISBN号码(包括分隔符“-”)。

输入/输出例子1

输入:

0-670-82162-4

输出:

Right

输入/输出例子2

输入:

0-670-82162-0

输出:

0-670-82162-4

#include<bits/stdc++.h>
using namespace std;
char mod[12]="0123456789X";
int main(){
    char s[14];
    for(int i=0;i<=12;i++)
    cin>>s[i];
    int k=1,sum=0;
    for(int i=0;i<12;i++){
        if(s[i]!='-'){
            sum+=(s[i]-'0')*k;
            k++;
        }
    }
    if(mod[sum%11]==s[12])cout<<"Right";
    else {   
        s[12]=mod[sum%11];
        cout<<s;
    }
        

    return 0;
}
第2题     十六进制 查看测评数据信息

输入一个十六进制的数,如果输入的不是十六进制,则输出NO,否则输出对应的十进制值。

输入格式

只有一个字符串(字符串长度≤6)。

输出格式

符合十六进制就输出对应的十进制数,否则输出NO。

输入/输出例子1

输入:

1A2b

输出:

6699

#include<bits/stdc++.h>
using namespace std;
const int N=100002;
char c[N];
int main()
{
	cin>>c;
	for(int i=0;i<strlen(c);i++)
		if((c[i]>='0'&&c[i]<='9')||(c[i]>='A'&&c[i]<='F')||(c[i]>='a'&&c[i]<='f')) continue;
		else{
			cout<<"NO";
			return 0;
		}
	long long sum=0,num,wq=1;
	for(int i=strlen(c)-1;i>=0;i--){
		if(c[i]>='0'&&c[i]<='9')num=c[i]-'0';
		else switch(c[i]){
			case 'A':case 'a':num=10;break;
			case 'B':case 'b':num=11;break;
			case 'C':case 'c':num=12;break;
			case 'D':case 'd':num=13;break;
			case 'E':case 'e':num=14;break;
			case 'F':case 'f':num=15;break;
		}
		sum+=num*wq;
		wq*=16;
	}
	cout<<sum<<endl;
}
第3题     电文加密 查看测评数据信息

在军事上,通讯的工具往往是收发电文,但敌方会利用仪器设备接收到电文,所以为了使电文保密,可以按一定的规律将电文转换成密码再发送,收报人再按约定的规律将其译回原文,现按这样的规律加密英文电文:将26个英文字母按顺时针围成一圈,把要发送的英文字母转变成其后的第N(1≤N≤25)个字母(除英文字母外,电文中的其它字符不用加密)。例如:如图1,把大写字母A转变成其后的第3个字母是D,把大写字母Y转变成其后的第3个字母是B,小写字母的加密方法也一样,如把b转变成其后的第3个字母是e,把y转变成其后的第三个字母是b。例如电文"1Day."按把字母转变成其后的第3个字母的方法进行加密是:"1Gdb."。

pimg1152_1.jpg

输入格式

输入数据仅1行:A$,N (A$为英文字串,N为转换为其后的第N个字母,1≤N≤25,英文字串与N之间用‘,’隔开)。

输出格式

输出数据仅1行,把英文字串A$转换为其后的第N个字母的新字串。

输入/输出例子1

输入:

Tow.,4

输出:

Xsa.

样例解释

4表示把"Tow."转变成其后的第4个字母

#include<bits/stdc++.h>
using namespace std;
string a;
int main ()
{ 
    getline(cin,a);
    int t=a. find(',')+1;
    int s=0;
    for(int i=t; i<a. size (); i++){

        s=s*10+(a[i]-'0');
        s%=26;
    }
    for(int i=0;i<t-1; i++)
    {

    if(a[i]>='a'&&a[i] <= 'z')//因为直
    for(int j=1; j <= s; j++){

    a[i]++;
    if(a[i]>'z')a[i]='a';
    }
    else if(a[i]>='A' &&a[i] <= 'Z')
        for(int j=1; j <= s; j++){

            a[i]++;
            if(a[i]>'Z')a[i]='A';
        }
    cout << a[i];
    }
    return 0;
}

第4题     纳米文 查看测评数据信息

一天,摇摇很荣幸地来到了纳米星球。可他发现一种奇怪的文字——纳米文,就研究起来了。经过不懈的努力,摇摇终于发现改怎么把纳米文转换成地球的文字了:纳米文是一串字符,然后按照下面有一个数字n,然后有n条命令,每条命令有1个或2个字符。如果只有1个字符,就把字符串中的所有这个字符去掉。如果有2个字符,就是把字符串中的所有第一个字符换成那第二个字符。现在摇摇给你纳米文,请把它转成地球文。

输入格式

输入数据共n+2行,第1行:一个字符串。

第2行,一个正整数n。

第3到n+2行,共n行命令字符。

输出格式

输出数据仅1行,即转换后的地球文。

输入/输出例子1

输入:

g31a1333g3ccl11t13hhg

7

z

1

h

c p

t e

g

3

输出:

apple

样例解释

g31a1333g3ccl11t13hhg

7

z     {去掉所有的“z”}

1     {去掉所有的“1”}

h     {去掉所有的“h”}

c p   {把所有的“c”换成“p”}

t e   {把所有的“t”换成“e”}

g     {去掉所有的“g”}

3     {去掉所有的“3”}

#include<bits/stdc++.h>
using namespace std;
int main(){
    string nano;
    int n;
    getline(cin, nano); 
    cin>>n; 
    cin.ignore(); 
    for(int i=0;i<n;i++){
        string command;
        getline(cin,command); 
        if(command.size()==1){
            size_t pos=nano.find(command);
            while(pos!=string::npos){
                nano.erase(pos,1);
                pos=nano.find(command,pos);
            }
        } 
		else if(command.size()==3){
            size_t pos=nano.find(command[0]);
            while(pos!=string::npos){
                nano[pos]=command[2]; 
                pos=nano.find(command[0], pos+1);
            }
        }
    }
    cout<<nano<<endl;
    return 0;
}
第5题     乐乐的图形 查看测评数据信息

       乐乐最近玩起了字符游戏,规则是这样的:读入若干字符串,其中的字母都是大写的,乐乐想打印一个柱状图显示每个大写字母的频率。你能帮助她吗? 

输入格式

输入文件有若干行:每行为一串字符,不超过72个字符。

输出格式

与样例的格式保持严格的一致。

输入/输出例子1

输入:

THE QUICK BROWN FOX JUMPED OVER THE LAZY DOG.

THIS IS AN EXAMPLE TO TEST FOR YOUR

HISTOGRAM PROGRAM.

HELLO!

输出:

111.bmp

样例解释

1、输出的相邻字符间有一个空格。 

2、最后一行的26个大写字母每次必须输出。 

3、大写字母A所在的第一列前没有空格。

提示:所读入的字符串个数不确定,有可能4个,或者3个,5个,反正不确定,可以用以下读句读入

while(getline(cin,s))  //一旦读入停止,条件读句会返回一个flase,循环终止。

{

   语句组

}

#include<bits/stdc++.h>
using namespace std;
int s[50],mx;
int main(){
    int i,j,k,l;
    string ss;
    for(i=1;i<=4;i++){
        getline(cin,ss);
        l=ss.length();
        for(j=0;j<l;j++){
            if(ss[j]>='A'&&ss[j]<='Z'){
                s[ss[j]-'A']++;
                mx=max(mx,s[ss[j]-'A']);
            }
        }
    }
    for(i=mx;i>=1;i--){
        for(j=0;j<=25;j++){
            if(s[j]>=i)
                printf("*");
            else
                printf(" ");
            printf(" ");
        }
        printf("\n");
    }
    for(k=0;k<26;k++)
        printf("%c ",k+'A');
    return 0;
}
第6题     单词缩写 查看测评数据信息

众所周知,我们通常用一个单词的首字母组成的字符串来代替一个很长的英文名称,例如:ACM是“Association for Computing Machinery”的缩写。现在我们给出一些单词序列,要求按以下规则求出该单词序列的缩写。(缩写有可能是空的)

1.凡是字母个数小于等于2的单词不要。

2.“and”、“for”、“the”这三个单词不要(包括大小写的情况)。

3.除1、2点外的单词取首字母的大写形式按顺序连起来。

输入格式

第一行为一个整数n,表示要求的单词缩写的个数。(n<=100)

接下来n行,每行一个长度小于100的单词序列,每个单词都是由大写或小写字母组成,每个单词之间有一个空格。

输出格式

输出n行,每行为对应的单词缩写。

输入/输出例子1

输入:

5

Association for Computer Machinery

Institute of Electricaland Electronics Engineers

SUN YAT SEN UNIVERSITY

The Lord of the Rings 

netease

输出:

ACM

IEEE

SYSU

LR

N

#include<bits/stdc++.h>
using namespace std;
string s, c[4]={" AND ", " FOR ", " THE "};
int n;
int main (){

cin>>n;
getline(cin, s) ;
while(n -- ){

getline(cin, s);
for(int i=0; i<s. size (); i++)
s[i]=toupper(s[i]);
s=" "+s+" ";
for(int i=0;i<3;i++)
while(s. find(c[i]) !=- 1)
s. erase(s. find(c[i])+1,4);
for(int i=0; i<s. size ()-1; i++)
if(s[i] == ' '&&s[i+1] != ' '&&s[i+2] != ' '&&s[i+3] != ' ')
cout << s[i+1];
cout << endl;
}
return 0;
}

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

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

相关文章

[css] 让文字进行竖着 分散对齐

.demo2 {width: 60px;background-color: aqua;height: 200px;display: grid;place-items: center;}参考&#xff1a; css 让文字进行竖着书写&#xff0c; 附带个小知识&#xff0c;行内块元素添加文字之后底部对不齐的问题

24.云原生之ArgoCD钩子

云原生专栏大纲 文章目录 Argo CD钩子如何定义钩子钩子删除策略 Argo CD钩子 Argo CD 是一个用于部署和管理 Kubernetes 应用程序的工具&#xff0c;它提供了一种声明式的方式来定义和自动化应用程序的部署过程。Argo CD 钩子&#xff08;Hooks&#xff09;是一种机制&#x…

朴素贝叶斯原理

朴素贝叶斯的介绍 朴素贝叶斯算法&#xff08;Naive Bayes, NB) 是应用最为广泛的分类算法之一。它是基于贝叶斯定义和特征条件独立假设的分类器方法。由于朴素贝叶斯法基于贝叶斯公式计算得到&#xff0c;有着坚实的数学基础&#xff0c;以及稳定的分类效率。NB模型所需估计的…

盘点Ubuntu上的那些必装软件-游戏篇

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、原生游戏1.纸牌2.扫雷3.数独4.麻将5.20486.国际象棋7.吃豆人8.围棋 二、Steam游戏1. CSGO&CS22.战争雷霆3.Dota24. 足球经理20185.文明66.地铁:离去7.完…

Linux:进程信号的概念与产生原理

文章目录 信号的概念实践信号关于前台和后台进程的操作 操作系统与外设信号的产生signal系统调用 前面的篇章结束了信号量的话题&#xff0c;那么接下来引入的是信号的话题&#xff0c;信号和信号量之间没有任何关系&#xff0c;只是名字比较像 信号的概念 在生活中存在各种各…

【C语言进阶篇】assert宏 使用详解

文章目录 一、assert简介 二、assert使用方法和规则 2.1 头文件 2.2 原型 2.3 功能 2.4 示例 2.5 assert的打开与关闭 三、注意事项 3.1 运行效率问题 3.2 assert只适用于调试版本 3.3 资源释放与清理 3.4 过度依赖 四、总结 个人主页&#xff1a; 倔强的石头的…

web前端开发--------阴影与转换

1.阴影分为文本阴影和盒子阴影 我们使用text-shadow属性为文本添加阴影效果&#xff0c;使用结构伪类为第一个子元素p添加阴影效果&#xff1b; 水平偏移量为负值时&#xff0c;表示阴影向左偏移&#xff1b; &#xfeff;垂直偏移量为负值时&#xff0c;表示阴影向上偏移。 …

【PaddleSpeech】语音合成-男声

环境安装 系统&#xff1a;Ubuntu > 16.04 源码下载 使用apt安装 build-essential sudo apt install build-essential 克隆 PaddleSpeech 仓库 # github下载 git clone https://github.com/PaddlePaddle/PaddleSpeech.git # 也可以从gitee下载 git clone https://gite…

龙芯--自主架构先驱者

&#x1f6d1; 这是ren_dong的第23篇原创 1、概述 自主可控最高的 MIPS 架构 CPU 龙芯是我国最早研制的高性能通用处理器系列&#xff0c;拥有 MIPS 指令的永久授权&#xff0c;并拓展出了自己的指令集loong ISA。龙芯采用自主 Loong ISA 指令系统&#xff0c;兼容 MIPS 指令&a…

C语言——标准输出函数(printf、putchar和puts)

目录 1. 标准输入输函数出头文件2. printf2.1 函数申明2.2 基本用法2.3 占位符2.4 输出格式2.4.1 限定宽度2.4.2 总是显示正负号2.4.3 限定小数位数2.4.4 输出部分字符串 3. putchar3.1 函数申明3.2 基本用法 4. puts4.1 函数申明4.2 基本用法 1. 标准输入输函数出头文件 #inc…

由反射引出的Java动态代理与静态代理

写在开头 在《深入剖析Java中的反射&#xff0c;由浅入深&#xff0c;层层剥离&#xff01;》这篇文章中我们讲反射时&#xff0c;曾提到过Java的动态代理中使用了反射技术&#xff0c;那么好&#xff0c;今天我们要就着反射的索引&#xff0c;来学习一下Java中的代理&#xf…

不下载任何插件和依赖,在线导出swagger的api接口文档(word)

一、前言 swagger是一个非常方便用来生成api的工具集&#xff0c;它提供了可视化的restful风格的web界面&#xff0c;方便查看生成的api。 但是&#xff0c;想要将swagger生成的api直接导出为doc文档&#xff0c; 似乎不太方便实现&#xff0c;解析swagger的json串&#xff0c;…

空间计算时代加速到来,需要的不只是苹果

近年来&#xff0c;科技行业一直在期待“寒武纪”时刻。伴随技术革命的深入推进&#xff0c;所有厂商都预感新的时代即将到来&#xff0c;并期待自己成为那个引爆点&#xff0c;轻轻一触&#xff0c;推开一扇新的未来之门。 今年开年&#xff0c;苹果就为科技圈锚定了一个可能…

C#拆分字符串,正则表达式Regex.Split 方法 vs String.Split 方法

目录 一、使用的方法 1.使用Split(String, String)方法 2.String.Split 方法 二、源代码 1.源码 2.生成效果 使用正则表达式可以拆分指定的字符串。同样地&#xff0c;使用字符串对象的Split方法也可以实现此功能。使用字符串对象的Split方法可以根据用户选择的拆分条件&…

PythonWeb框架库之fastapi使用详解

概要 Python是一门广受欢迎的编程语言&#xff0c;用于构建各种类型的Web应用程序。FastAPI是一个现代、高性能的Web框架&#xff0c;它以简单的方式提供了快速构建API的能力。本文将介绍FastAPI的各种功能和用法&#xff0c;并提供丰富的示例代码&#xff0c;帮助大家开始使用…

帮管客CRM 文件上传漏洞

免责声明&#xff1a;文章来源互联网收集整理&#xff0c;请勿利用文章内的相关技术从事非法测试&#xff0c;由于传播、利用此文所提供的信息或者工具而造成的任何直接或者间接的后果及损失&#xff0c;均由使用者本人负责&#xff0c;所产生的一切不良后果与文章作者无关。该…

指针+一维整型数组的基本运用 和 指针+一维整型数组的初步学习

一&#xff0c;调式程序的技巧&#xff1a; 1.明确问题 2.定位问题 3.加打印&#xff08;打印核心数据0&#xff09; 二&#xff0c;指针的回顾 1.指针的概念&#xff1a;指针就是地址&#xff08;内存单元的编号&#xff09;&#xff0c;是一个数据类型&#xff08;指针类型…

使用 Dockerfile 定制镜像详解

使用 Dockerfile 定制镜像详解 1.DockerfileFROM 指定基础镜像RUN 执行命令构建镜像 2.COPY 复制文件3.ADD 更高级的复制文件4.CMD 容器启动命令5.ENTRYPOINT 入口点6.ENV 设置环境变量7.ARG 构建参数8.VOLUME 定义匿名卷9.EXPOSE 暴露端口10.WORKDIR 指定工作目录11.USER 指定…

【Django】如何设置支持多语种网站,中文/英文网站

首先&#xff0c;需要明确一点&#xff1a;我们要实现的中英对照翻译&#xff0c;这个翻译不是浏览器翻译的&#xff0c;也不是Django帮你翻译。这个需要你自己事先手动翻译好&#xff0c;存放在专门翻译文件中&#xff0c;Django只是事后调用而已。 第一步 新建项目后&#x…

Python||五城P.M.2.5数据分析与可视化_使用华夫图分析各个城市的情况(中)

目录 1.上海市的空气质量 2.成都市的空气质量 【沈阳市空气质量情况详见下期】 五城P.M.2.5数据分析与可视化——北京市、上海市、广州市、沈阳市、成都市&#xff0c;使用华夫图和柱状图分析各个城市的情况 1.上海市的空气质量 import numpy as np import pandas as pd impor…
最新文章