字符串题解第一弹~

[千万不能错过的原题连接](https://www.luogu.com.cn/problem/P5733)

今天就研究一下这道自动修正问题哈 首先,我们看到了小写转大写的时候,就知道该祭出字符界的大佬级选手ASCII来解决这道问题

然后又看到了一个非常关键的信息 字符串里不包含空格 那这样的话就可以轻轻松松的用printf来输入啦(但本人疑似用惯了cin和cout)

下面请出程序中的灵魂:

1. 输入数据(这是改变不了滴)

2. 将字符串利用下标筛选出没有变成大写的英文字符(注意关键语言if(a[i]>96&&a[i]<123)

3. 用(int)强制类型转换再将该字符的ASCII值-32

4. 把转换完的大写字母替换掉原来的字符

5. 输出 这里呢,我偷了一点懒,没错就是第四条(似乎再定义一个字符串占得不是程序内存,而是我的脑子),还有要注意的就是第二条,一定要用&&啊!!!千万不要只判定一个(而且第二条我也偷懒了,如有发现,欢迎评论)

梳理完步骤后,我很快就敲出了这个代码(借鉴群里某位人才的做法,我也不使Markdown里看的强迫症发晕的插入代码了)

#include<iostream>
#include<cstring>
using namespace std;
int main()
{
char a[150];
int z;
cin>>a;
z=strlen(a);
for(int i=0;i<z;i++){
if(a[i]>97&&a[i]<122)
a[i]=(int)a[i]-32;
}
cout<<a;
return 0;
}

我满心欢喜的把代码提交上去,结果5个测试点全WA了!!!

我一看程序,直呼好家伙。。。

if语句把a和z给搞丢了。。。

所以赶紧补上,以下是AC代码

#include<iostream>
#include<cstring>
using namespace std;
int main()
{
char a[150];
int z;
cin>>a;
z=strlen(a);
for(int i=0;i<z;i++){
if(a[i]>96&&a[i]<123)
a[i]=(int)a[i]-32;
}
cout<<a;
return 0;
}

好了~本篇题解就到此为止咯!

P5733 自动修正的更多相关文章

  1. Lua中如何实现类似gdb的断点调试—06断点行号检查与自动修正

    前面两篇我们对性能做了一个优化,接下来继续来丰富调试器的特性. 我们前面提到过,函数内并不是所有行都是有效行,空行和注释行就不是有效行.我们之前在添加断点的时候,并没有对行号进行检查,任何行号都能成功 ...

  2. 题解 P5733 【【深基6.例1】自动修正】

    题目传送门 分析: 1.这道题可以说是一个字符串的练习好题.我们先来了解一下字符串.在这道题中,建议使用\(string\) \(string\)是\(C++\).\(java\).\(VB\)等编程 ...

  3. 一个自动修正数据时间和补全缺失数据的MapReduce程序

    原始数据如下图: 程序: Mapper类: public class DemoMapper extends Mapper<LongWritable,Text,IntWritable,Text&g ...

  4. webstorm vue eslint 自动修正配置

    原文:https://medium.com/@netczuk/even-faster-code-formatting-using-eslint-22b80d061461 https://stackov ...

  5. 关闭webkit浏览器的自动完成,修正,大写

    关闭input自动完成<input name="q" type="text" autocomplete="off"/>关闭整个表 ...

  6. Eclipse配置详解(包括智能提示设置、智能提示插件修改,修改空格自动上屏、JDK配置、各种快捷键列表……)

    Eclipse编辑器基本设置 1.添加行号 在边缘处右键 2.改字体 字体的一般配置 3.去掉拼写错误检查 4.Java代码风格 代码格式化 Ctrl + Shift + F 之后点击右边的New按钮 ...

  7. IntelliJ IDEA 设置代码提示或自动补全的快捷键 (附IntelliJ IDEA常用快捷键)

    修改方法如下: 点击 文件菜单(File) –> 点击 设置(Settings- Ctrl+Alt+S), –> 打开设置对话框. 在左侧的导航框中点击 KeyMap. 接着在右边的树型框 ...

  8. 在ABBYY中如何修正倾斜的PDF页面

    作为一名文案工作者,每天都要跟各种PDF文件打交道,合同.报价单.协议书等等等,通常提供给客户的都是扫描之后的PDF文档,虽说都是机器扫描,但毕竟是人为放置的,难免位置放置不齐,导致扫描出来的文档出现 ...

  9. [原创]PHP代码修正之CodeSniffer

    目录 参考链接 介绍 安装 使用 命令行模式 PHPStorm 让编辑器使用PSR-2标准 集成phpcbf 参考链接 PHP开发规范之使用phpcbf脚本自动修正代码格式 在PhpStorm中使用P ...

  10. Pycharm 实现保存时修正格式(format_on_save)

    前言 VSCODE是近年来备受欢迎的轻量级代码编辑器,有一项非常实用功能--保存时修正代码格式(formatonsave) Pycharm作为一款IDE,虽然本身不具备此功能,但通过几个并不复杂的设置 ...

随机推荐

  1. 解决ssh连接远程主机出现“REMOTE HOST IDENTIFICATION HAS CHANGED”问题

    Win通过ssh连接远程主机 命令提示符方式 ssh username@ip 此后输入你的密码 通过VSCode Remote-SSH 在VSCode拓展中搜索"Remote-SSH&quo ...

  2. Linux安装PHP8 新版笔记

    PHP部分 官网下载地址:https://www.php.net/downloads.php 我下载的是此时的最新稳定版8.2.3 cd /usr/localwget https://www.php. ...

  3. 化学式latex语法

    $2 CO_2 \stackrel{光}{\underset{\text{催化剂}}{\longrightarrow}}2 Fe + 3 CO_2$ $\ce{CO2}$ $\ce{CU2+}$ $\ ...

  4. CCProxy网络代理小试牛刀

    CCProxy可以完成两项大的功能:代理共享上网和客户端代理权限管理.只要局域网内有一台机器能够上网,其他机器就可以通过这台机器上安装的CCProxy来代理共享上网,最大程度的减少了硬件费用和上网费用 ...

  5. Linux操作命令(四) 1.which命令 2.whereis命令 3.locate命令

    1.which命令 which 命令的作用是,在 PATH 变量指定的路径中搜索可执行文件的所在位置.它一般用来确认系统中是否安装了指定的软件 确认是否安装了 gcc:which gcc 查看 cd ...

  6. 面试笔记1-redis

    1.什么是RDB? RDB实际上是Redis的一种数据持久化机制.它每隔一段时间就会把内存中的数据写入到磁盘中的临时文件,作为快照,宕机重启之后,就会把rdb文件读取到内存中去,就可以恢复数据. 2. ...

  7. Stanford NLP 在Python环境中安装、介绍及使用

    Stanford NLP Stanford NLP提供了一系列自然语言分析工具.它能够给出基本的词形,词性,不管是公司名还是人名等,格式化的日期,时间,量词,并且能够标记句子的结构,语法形式和字词依赖 ...

  8. Ubuntu系统安装搜狗拼音输入法

    问题背景 Ubuntu是使用人数最多的Linux发行版之一,其丰富的生态广受各位种花家程序员小伙伴们的欢迎.对种花家小伙伴们来说,最重要的功能之一就是中文输入法了.但是Ubuntu自带的中文输入法效果 ...

  9. Python 20个常用库

    Requests.Kenneth Reitz写的最富盛名的http库.每个Python程序员都应该有它. Scrapy.如果你从事爬虫相关的工作,那么这个库也是必不可少的.用过它之后你就不会再想用别的 ...

  10. react native SectionList组件实现多选

    如下图所示: 代码如下: import React, { useRef, Component } from 'react'; import { Platform, Text, View, TextIn ...