C++ 一个字符串只包含K和D。K表示杀人,D表示死亡。计算连续杀敌次数,阵亡则归零。

题:

 

首先笔者的第一思路是前后两个字符串比较。如果相同index++。

#include<iostream>
#include<stdio.h>
#include<string>
using namespace std;
int main()
{string s;cout << "6请输入字符串:" << endl;cin >> s;string name = "";unsigned int iSize = s.size();int currVal = 0;for (int i = 0; i <iSize; i++){int j = i;if (s[j] == s[j+1])currVal++;elsecurrVal = 0;}cout << currVal << endl;switch (currVal){case 0:name = "a Foolish Man"; break;case 1:name = "a Foolish Man"; break;case 2:name = "a Foolish Man"; break;case 3:name = "a Foolish Man"; break;case 4:name = "Dominating"; break;case 5:name = "a Mega-Kill"; break;case 6:name = "Unstoppable"; break;case 7:name = "Wicked Sick"; break;case 8:name = "a M-m-m-m...Monster Kill"; break;case 9:name = "Godlike"; break;default:name = "Beyond Godlike";break;}std::cout << name;system("pause");return 0;
}

当我输入题示要求后ok。但是当输入DDDKKKK是期待输出是4但是输出为0.

分析结果是因为在j和j+1比较时j+1会出界。所以最后会置为0

后来网上搜索字符串中字符连续个数:

#include"string"
#include"iostream"
using namespace std;
int  main()
{string str;cin>>str;int lenght=str.length();int index=0;int i;int j;for(i=0;i<length;i=j){index=1;for(j=i+1;j<length;++j){if(str[i]==str[j])index++;else break;}cout<<str[i]<<index;}cout<<endl;system("pause");return 0;
}

这个程序在数连续字符时完全没有问题。它采用起始为1,然后和后续比较,若不相同直接从不相同处开始比较的思想。但是如果最后是一个D或者多个D时我需要输出为0.为一个K时输出为1.。。试了多次依然没有成功

最后。突然用自己之前一个错误s[+1]起始就一直是s[0]的错误解决,就是每个字符都和K进行比较

#include<iostream>
#include<stdio.h>
#include<string>
using namespace std;
int main()
{string s ;cout << "3请输入字符串:" << endl;cin >> s;string name="";unsigned int iSize = s.size();int currVal = 0;for (int i = 0; i <iSize; i++){if (s[i]=='K')currVal++;elsecurrVal = 0;}cout << currVal << endl;switch (currVal){case 0:name = "a Foolish Man"; break;case 1:name = "a Foolish Man"; break;case 2:name = "a Foolish Man"; break;case 3:name = "a Foolish Man"; break;case 4:name = "Dominating"; break;case 5:name = "a Mega-Kill"; break;case 6:name = "Unstoppable"; break;case 7:name = "Wicked Sick"; break;case 8:name = "a M-m-m-m...Monster Kill"; break;case 9:name = "Godlike"; break;default:name = "Beyond Godlike";break;}std::cout<<name;system("pause");return 0;
}

此时满足题意。

参考自https://blog.csdn.net/qq_27302361/article/details/51111537

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

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

相关文章

【Python】datetime内置模块处理日期和时间

datetime库定义了2个常量和5个类。 2个常量分别是MINYEAR1和MAXYEAR9999。 5个类分别是&#xff1a; date类&#xff1a;表示日期的类 time类&#xff1a;表示时间的类 datetime类&#xff1a;表示时间日期的类 timedelta类&#xff1a;表示两个datetime对象的差值&#xff1b;…

进程与线程区别

进程概念 进程是表示资源分配的基本单位&#xff0c;又是调度运行的基本单位。例如&#xff0c;用户运行自己的程序&#xff0c;系统就创建一个进程&#xff0c;并为它分配资源&#xff0c;包括各种表格、内存空间、磁盘空间、I/O设备等。然后&#xff0c;把该进程放人进程的就…

【业务办理】广州市户口市内迁移流程

一、申办条件 符合下列条件之一的本市户籍人员&#xff08;除学校学生集体户口外&#xff09;&#xff0c;可办理户口市内迁移。 1.迁入本人合法住宅房屋地址。 2.投靠直系亲属&#xff0c;迁入其合法住宅房屋地址&#xff0c;或迁入其家庭户内。 3.因离婚、房屋所有权发生转移…

python多线程threading之阻塞线程(join)线程同步和守护线程(setDaemon(True))实例详解

一、多线程&#xff08;主线程和子线程同时执行&#xff09; 1、主线程是程序本身&#xff0c;看不到的,主线程和子线程没有依赖关系&#xff0c;同步执行的&#xff0c;若主线程先执行完&#xff0c;会等子线程执行完毕&#xff0c;程序结束 2、启动一个线程就是把一个函数传…

【Python】pyCryptodome模块实现AES加密、解密

高级加密标准&#xff08;英语&#xff1a;Advanced Encryption Standard&#xff0c;缩写&#xff1a;AES&#xff09;&#xff0c;在密码学中又称Rijndael加密法&#xff0c;是美国联邦政府采用的一种区块加密标准。这个标准用来替代原先的DES&#xff0c;已经被多方分析且广…

python多线程之线程锁(Lock)和递归锁(RLock)实例

一、线程锁 Threading模块为我们提供了一个类&#xff0c;Threading.Lock锁。我们创建一个该类对象&#xff0c;在线程函数执行前&#xff0c;“抢占”该锁&#xff0c;执行完成后&#xff0c;“释放”该锁&#xff0c;则我们确保了每次只有一个线程占有该锁。这时候对一个公共…

并发编程:进程,线程,协程,异步

并发编程&#xff08;不是并行&#xff09;目前有四种方式&#xff1a;多进程、多线程、协程和异步。 多进程编程在python中有类似C的os.fork,更高层封装的有multiprocessing标准库多线程编程python中有Thread和threading异步编程在linux下主要有三种实现select&#xff0c;po…

jmeter环境部署

win环境下&#xff1a; 1、复制jmeter整个包到本地解压、安装jdk 2、jdk环境环境变量配置&#xff08;电脑-属性-高级系统设置-环境变量&#xff09; 系统变量JAVA_HOME 变量值C:\Program Files\Java\jdk1.8.0_101 用户变量path 变量值%JAVA_HOME%\bin cmd下输java或jav…

【Python】pdf2image模块+poppler将PDF转换为图片

有时我们需要将PDF转换成图片&#xff0c;今天我们主要说的是pdf2imagepoppler对PDF转换成图片格式。 pdf2image是个包装器&#xff0c;真正的转换工具是poppler GitHub地址&#xff1a;https://github.com/Belval/pdf2image &#xff0c;上面也有相关的配置说明。 1、安装pdf…

jmeter五种参数化方式之CSV Data Set Config参数化

一、用户定义的变量 一般会设置全局不变的参数&#xff0c;如host、账号、密码等 设置名称username&#xff0c;password 值王荔&#xff0c;123456 线程设置2次和循环设置2次&#xff0c;2次采样器传参和结果一样 二、用户参数 添加用户参数 设置3组参数 参数化 当线程设置…

【Python】PyMuPDF模块将PDF转换为图片

上一篇文章介绍了pdf2image模块poppler将PDF转换为图片&#xff0c;这篇文章主要介绍另外一个模块PyMuPDF。 PyMuPDF&#xff08;又名“fitz”&#xff09;&#xff1a;MuPDF的Python绑定&#xff0c;它是一个轻量级的PDF和XPS查看器。该库可以访问PDF&#xff0c;XPS&#xf…

【Liunx服务器】阿里云服务器下部署多个tomcat服务

现在有这样一个场景&#xff0c;一个阿里云服务器上面已经有tomcat项目和多个maven项目&#xff0c;现在需要在一个新项目中配置一个空的tomcat&#xff0c;现将具体流程记录下来。 1.下载tomcat包或者找到已下载的包 2.将tomcat的包解压到指定项目目录&#xff1a;/data/proj…

【测试】身份证的前世今生

在我们的测试中,经常要校验身份证的有效性,但是我们大多数人并不清楚身份证具体是如何组成的,有什么特点,下面我们就了解一下它的前世今生。 身份证由来 从1999年10月1日起,全国实行公民身份证号码制度,居民身份证编号由原15位升至18位。 根据〖中华人民共和国国家标准…

C++根据输入日期YYYY-MM-DD判断是否星期几

参考链接&#xff1a; https://blog.csdn.net/bible521125/article/details/50418436 https://blog.csdn.net/tojohnonly/article/details/78326633 https://blog.csdn.net/fengbingchun/article/details/54835571

【音频】音频文件格式以及相关参数

音频是个专业术语&#xff0c;音频一词已用作一般性描述音频范围内和声音有关的设备及其作用。人类能够听到的所有声音都称之为音频&#xff0c;它可能包括噪音等。 声音被录制下来以后&#xff0c;无论是说话声、歌声、乐器都可以通过数字音乐软件处理&#xff0c;或是把它制作…

python 按照当前日期创建文件

import time import os.path#获得当前系统时间的字符串 localtimetime.strftime(%Y-%m-%d %H:%M:%S,time.localtime(time.time())) print(localtimelocaltime) #系统当前时间年份 yeartime.strftime(%Y,time.localtime(time.time())) #月份 monthtime.strftime(%m,time.localti…

【Python】Python中内置的%操作符

Python中内置的%操作符可用于格式化字符串操作&#xff0c;控制字符串的呈现格式。Python中还有其他的格式化字符串的方式&#xff0c;但%操作符的使用是最方便的。 格式符为真实值预留位置&#xff0c;并控制显示的格式。格式符可以包含有一个类型码&#xff0c;用以控制显示的…

数据结构二叉树遍历求后序

注意左右子树的递归 参考自https://blog.csdn.net/hou_blog/article/details/50015503

python queue队列

作用&#xff1a; 解耦&#xff1a;使程序直接实现松耦合&#xff0c;修改一个函数&#xff0c;不会有串联关系。 提高处理效率&#xff1a;&#xff26;&#xff29;&#xff26;&#xff2f; &#xff1d; 现进先出&#xff0c;&#xff2c;&#xff29;&#xff26;&#…

【Python】ffmpeg模块查询视频、音频信息

FFmpeg是一套可以用来记录、转换数字音频、视频&#xff0c;并能将其转化为流的开源计算机程序。采用LGPL或GPL许可证。它提供了录制、转换以及流化音视频的完整解决方案。 它包含了非常先进的音频/视频编解码库libavcodec&#xff0c;为了保证高可移植性和编解码质量&#xff…