首页 > 编程语言 >【每日例题】蓝桥杯 c++ 串的处理

【每日例题】蓝桥杯 c++ 串的处理

时间:2023-11-04 14:57:37浏览次数:36  
标签:空格 处理 字母 c++ 蓝桥 && 单词 例题

串的处理

题目

题目描述
在实际的开发工作中,对字符串的处理是最常见的编程任务。本题目即是要求程序对用户输入的串进行处理。具体规则如下: 

1.把每个单词的首字母变为大写。 

2.把数字与字母之间用下划线字符(_)分开,使得更清晰

3.把单词中间有多个空格的调整为1个空格。
输入描述 
用户输入的串中只有小写字母,空格和数字,不含其它的字母或符号。每个单词间由1个或多个空格分隔。假设用户输入的串长度不超过200个字符。
输出描述 
输出处理好的字符串。 

蓝桥杯 串的处理

题目分析

我们要进行三个操作

1.把每个单词的首字母变为大写。 

2.把数字与字母之间用下划线字符(_)分开,使得更清晰

3.把单词中间有多个空格的调整为1个空格。

  • 我们通过gets函数输入字符串,将字符串存入字符数组,使用数组挨个进行操作
  • 当我们检测到两个符号都是‘ ’时,我们使用continue只输出一个空格
  • 当我们检测到前面有空格,或者为第一个字母时,后面的字母大写
  • 当我们检测到前后分别存入的字符为数字与字母时,输出时先输出‘_’

gets函数    break与continue的区别

代码

 

#include <iostream>
#include <string.h>
using namespace std;
int main()
{
  char s[200];
  gets(s);
  for(int i=0;i<strlen(s);i++)
  {
    //由于可能使用多个空格分割,所以我们只输出一个空格
    if(s[i-1]==' '&&s[i]==' ')
    {
      continue;
    }
    //前面有空格或者为第一个字母,大写
    else if((s[i-1]==' '||i==0)&&s[i]>='a'&&s[i]<='z')
    {
      cout<<char(s[i]+'A'-'a');
    }
    //数字与字母之间下划线分开
    else if(s[i-1]>='0'&&s[i-1]<='9'&&s[i]>='a'&&s[i]<='z')
    {
      cout<<'_'<<s[i];
    }
    else if(s[i]>='0'&&s[i]<='9'&&s[i-1]>='a'&&s[i-1]<='z')
    {
      cout<<'_'<<s[i];
    }
    else
    {
      cout<<s[i];
    }
  }
  return 0;
}

  

标签:空格,处理,字母,c++,蓝桥,&&,单词,例题
From: https://www.cnblogs.com/hcrzhi/p/17809331.html

相关文章

  • 【每日例题】蓝桥杯 c++ 最大降雨量
    最大降雨量题目本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。由于沙之国长年干旱,法师小明准备施展自己的一个神秘法术来求雨。这个法术需要用到他手中的49张法术符,上面分别写着1至49这49个数字。法术—共持续7周,每天小明都要使用—张法术符,法术符不能......
  • 【每日例题】蓝桥杯 c++ 最小的或运算
    最小的或运算题目问题描述给定整数a,b,求最小的整数工,满足a|a=ba,其中|表示或运算。输入格式第—行包含2个正整数a,b.输出格式输出共1行,包含1个整数,表示最终答案。样例输入样例输出评测数据规模对于所有测评数据,0<a,b<264.最小的或运算思路分析1.要求最小的x满足a|x=b|x,......
  • 【每日例题】蓝桥杯 c++ 奖学金
    奖学金题目蓝桥杯奖学金题目分析由题目可知,该题涉及到五个属性:学号,语文分数,数学分数,英语分数,总分;由于我们需要通过输入语文、数学、英语分数,经过操作后,输出学号与总分,所以我们可以通过结构体进行存储。       下面是有关结构体的信息:结构体信息   2.......
  • C/C++ 使用 MySQL API 操作 数据库
    C/C++对MySQLAPI的使用 MySQL数据库是一个C/S结构(客服端/服务器),当我们安装好MYSQL服务器之后可以通过客户端访问服务器端的数据;这里以C语言提供的API举例实现对数据库的操作;再程序中连接数据库服务器,主要有以下步骤:初始化连接环境;连接mysql的服务器,需......
  • UE4中的C++编程简介
    对官方文档的学习链接利用UE创建一个C++基类在编辑器中可以选择父类,根据这个父类我们可以创建一个基类用于后续的蓝图类制作。以Actor父类为例创建基类,其头文件会包含一个构造函数,一个Tick函数的重载和一个BeginPlay函数的重载。BeginPlay函数告诉Actor以可运行状态进入了游戏......
  • C++参数解析参数
    《C/C++参数解析》1.getopt库的使用  getopt用于解析程序命令行输入的参数,可解析短参数和长参数;解析短参数使用getopt()函数,解析长参数可使用getopt_long();1.1getopt()解析短参数  getopt()函数用来解析短参数,例如-a或者-b100这样的参数,不能解析长参数,如--ip198.11.2......
  • c/c++ 指针的江湖传说
    万物皆内存,内存有两个东西:地址、值。普通变量、引用变量、指针变量,二级指针变量,数组,指针数组...等等,皆内存。【指针】intx=10;//变量int*pX=&x;//指针变量int**ppX=&pX;//二级指针变量//地址,值std::cout<<&x<<","<<x<<std::endl;s......
  • c++入门基础
    c++打算法竞赛的优点是,输入输出比较方便,里面封装的stl库可以直接用,例如sort排序,直接一行代码就行了,时间复杂度也很友好。整数:输入:输出:小数:输入:输出:数组:输入:输出:字符串:输入:输出:结构体:输入输出:模板:点击查看代码#include<bits/stdc++.h>usingnames......
  • 浅析C++中浮点数在内存中的存储方式
    1.任何数据在内存中都是以二进制的形式进行存储。例如,short型数据1156,由于在32位机和64位机都占2B一共16位其二进制形式为:0000010010000100。在IntelCPU架构的系统中(目前用的最多的硬件架构系统),存放方式为10000100(低地址单元)00000100(高地址单元),因为IntelCPU的......
  • 梳理C++各种数据类型所占字节数和表示范围
    Outline1.数据类型所在字节数与程序运行平台有关2.列举各种数据类型所占字节数1.数据类型所在字节数与程序运行平台有关不同的平台上对不同数据类型分配的字节数是不同的。平台环境的理解:硬件架构操作系统(OS)编译器(Compiler)程序的运行环境取决于上述配件。原因:64位机......