河北建设厅查询官方网站/百度推广客户端下载网址

河北建设厅查询官方网站,百度推广客户端下载网址,成都的网站建设公司,赣州网站建设方案🔍 2025蓝桥杯备赛Day7——B2117 整理药名 题目难度:⭐️ 适合掌握字符串基础操作 考察重点:大小写转换、字符串遍历、边界条件处理 B2117 整理药名 题目描述 医生在书写药品名的时候经常不注意大小写,格式比较混乱。现要求你…

🔍 2025蓝桥杯备赛Day7——B2117 整理药名

题目难度:⭐️ 适合掌握字符串基础操作

考察重点:大小写转换、字符串遍历、边界条件处理

B2117 整理药名

题目描述

医生在书写药品名的时候经常不注意大小写,格式比较混乱。现要求你写一个程序将医生书写混乱的药品名整理成统一规范的格式,即药品名的第一个字符如果是字母要大写,其他字母小写。

如将 ASPIRIN 、 aspirin 整理成 Aspirin。

输入格式

第一行一个数字 n n n,表示有 n n n 个药品名要整理, n n n 不超过 100 100 100

接下来 n n n 行,每行一个单词,长度不超过 20 20 20,表示医生手书的药品名。

药品名由字母、数字和 - 组成。

输出格式

n n n 行,每行一个单词,对应输入的药品名的规范写法。

输入输出样例 #1

输入 #1

4
AspiRin
cisapride
2-PENICILLIN
Cefradine-6

输出 #1

Aspirin
Cisapride
2-penicillin
Cefradine-6

🔥 解法一:直接遍历法(推荐)

🛠️ 实现思路

分步处理

  1. 首字符特殊处理(大写转换)
  2. 其余字符统一转小写
#include <iostream>
#include <cctype>
using namespace std;int main() {int n;cin >> n;cin.ignore(); // 忽略第一行末尾的换行符while (n--) {string s;getline(cin, s); // 读取整行(兼容含空格的输入)if (!s.empty()) {// 处理首字符if (isalpha(s[0])) {s[0] = toupper(s[0]);}// 处理其余字符for (int i = 1; i < s.size(); ++i) {if (isalpha(s[i])) {s[i] = tolower(s[i]);}}}cout << s << endl;}return 0;
}

🔥 解法二:函数封装法(工程级)

🛠️ 实现思路

模块化设计

  • 将处理逻辑封装为独立函数
  • 提升代码复用性和可测试性
#include <iostream>
#include <cctype>
using namespace std;// 规范药品名
string formatDrugName(string s) {if (!s.empty()) {// 首字母大写if (isalpha(s[0])) {s[0] = toupper(s[0]);}// 其余字母小写for (int i = 1; i < s.size(); ++i) {if (isalpha(s[i])) {s[i] = tolower(s[i]);}}}return s;
}int main() {int n;cin >> n;cin.ignore(); // 处理输入缓冲while (n--) {string s;getline(cin, s);cout << formatDrugName(s) << endl;}return 0;
}

📚 知识点总结

一、关键库函数

  1. isalpha()

    int isalpha(int c); // 判断字符是否为字母(A-Z, a-z)
    
  2. toupper() / tolower()

    int toupper(int c); // 转大写(仅对小写字母有效)
    int tolower(int c); // 转小写(仅对大写字母有效)
    

二、边界处理

  • 空字符串处理if (!s.empty()) 避免越界访问
  • 非字母字符保留:数字、- 不参与转换

🚨 常见错误警示

错误1:未处理输入缓冲

cin >> n;
// 错误:未处理换行符,导致getline读取空行

修正

cin >> n;
cin.ignore(); // 清除输入缓冲区中的换行符

错误2:错误转换非字母字符

// 错误:未判断直接转换
s[i] = tolower(s[i]); // 可能将数字或符号错误处理

修正

if (isalpha(s[i])) {s[i] = tolower(s[i]);
}

错误3:忽略首字符非字母情况

// 错误:强制转换首字符
s[0] = toupper(s[0]); // 若首字符是数字,导致错误

修正

if (isalpha(s[0])) {s[0] = toupper(s[0]);
}

🌟 举一反三

变种题1:首字母与尾字母大写

// 若要求首字母和尾字母大写(若为字母)
if (!s.empty()) {if (isalpha(s[0])) s[0] = toupper(s[0]);if (isalpha(s.back())) s.back() = toupper(s.back());
}

变种题2:连字符后首字母大写

// 将连字符后的字母大写(如"pan-adol" → "pan-Adol")
for (int i = 1; i < s.size(); ++i) {if (s[i-1] == '-' && isalpha(s[i])) {s[i] = toupper(s[i]);}
}

🛠️ 实战技巧

1. 输入优化

// 使用快速IO(关闭同步流)
ios::sync_with_stdio(false);
cin.tie(nullptr);

2. 内存预分配

s.reserve(20); // 根据题目最大长度预分配

3. 调试输出

// 打印处理前后对比
cout << "原始:" << s << " → 处理:" << formatDrugName(s) << endl;

蓝桥杯考场策略

  • 优先选择解法一:代码紧凑,适合快速实现
  • 注意输入缓冲处理:使用cin.ignore()避免读取错误
  • 边界测试:测试首字符为数字、全大写等情况

👉 思考题:若要求所有元音字母大写,辅音字母小写,如何修改代码? 答案提示

bool isVowel(char c) {c = tolower(c);return c == 'a' || c == 'e' || c == 'i' || c == 'o' || c == 'u';
}// 在转换逻辑中添加元音判断
if (isVowel(s[i])) {s[i] = toupper(s[i]);
} else {s[i] = tolower(s[i]);
}

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

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

相关文章

笛卡尔轨迹规划之齐次变换矩阵与欧拉角、四元数的转化

一、笛卡尔轨迹规划需求 笛卡尔轨迹规划本质就是我们对机械臂的末端位置和姿态进行规划&#xff0c;其实也就是对末端坐标系的位姿进行规划。我们清楚末端坐标系的位姿是可以用齐次变换矩阵T来表示的&#xff0c;但这样表示的话&#xff0c;并不利于我们去做规划&#xff0c;所…

大摩闭门会:250321 学习总结报告

如果图片分辨率不足&#xff0c;可右键图片在新标签打开图片或者下载末尾源文件进行查看 本文只是针对视频做相应学术记录&#xff0c;进行学习讨论使用

深入理解 Spring Boot 应用的生命周期:从启动到关闭的全流程解析

引言 Spring Boot 是当今 Java 开发中最流行的框架之一&#xff0c;它以简化配置和快速开发著称。然而&#xff0c;要真正掌握 Spring Boot&#xff0c;理解其应用的生命周期是至关重要的。本文将深入探讨 Spring Boot 应用的生命周期&#xff0c;从启动到关闭的各个阶段&…

期刊分区表2025年名单下载(经济学、管理学)

2025年期刊分区表包括SCIE、SSCI、A&HCI、ESCI和OAJ&#xff0c;共设置了包括自然科学、社会科学和人文科学在内的21个大类 本次分享的是期刊分区表2025年名单经济学类、管理学类&#xff0c;一共7631025条 一、数据介绍 数据名称&#xff1a;期刊分区表2025年名单 数据…

梦回杭州...

她对我说&#xff0c;烟雨中的西湖更别有情趣&#xff0c;我也怀着对‘人间天堂’的憧憬踏上了向往之旅。第一次亲密接触没有感觉中那么好&#xff0c;现在想起来是那时的人和心情都没能安静下来&#xff0c;去慢慢品味它的美。 六下杭州&#xff0c;亲历每一片风景&#xff0c…

AI风向标《AI与视频制作全攻略:从入门到精通实战课程》

课程信息 AI风向标《AI与视频制作全攻略&#xff1a;从入门到精通实战课程》,夸克网盘和百度网盘课程。 课程介绍 《AI与视频制作全攻略&#xff1a;从入门到精通实战课程》是一套全面融合AI技术与视频制作的实战课程&#xff0c;旨在帮助创作者从基础软件使用到高级视频剪辑…

mayfly-go开源的一站式 Web 管理平台

mayfly-go 是一款开源的一站式 Web 管理平台&#xff0c;旨在通过统一的界面简化 Linux 服务器、数据库&#xff08;如 MySQL、PostgreSQL、Redis、MongoDB 等&#xff09;的运维管理。以下从多个维度对其核心特性、技术架构、应用场景及生态进行详细解析&#xff1a; 一、核心…

车辆模型——运动学模型

文章目录 约束及系统移动机器人运动学模型&#xff08;Kinematic Model&#xff09;自行车模型含有加速度 a a a 的自行车模型系统偏差模型 在机器人的研究领域中&#xff0c;移动机器人的系统建模与分析是极为关键的基础环节&#xff0c;本文以非完整约束的轮式移动机器人为研…

Chrome-Edge-IDEA-Win 常用插件-工具包

Chrome-Edge-IDEA-Win 常用插件-工具包 Chrome-Edge-IDEA-Win 常用插件-工具包谷歌插件chropathJSONViewOctotree - GitHub code treeXPath Helper书签侧边栏篡改猴Print Edit WEEdge浏览器插件IDEA插件CodeGlance Pro 代码迷你缩放图插件Alibaba Cloud ToolkitAlibaba Java Co…

西门子V90伺服系统介绍

深入浅出地了解V90伺服驱动系统的核心特性和优势&#xff0c;掌握其自动优化功能&#xff0c;使设备获得更高的动态性能&#xff1b;同时&#xff0c;了解其自动抑制机械谐振频率的特性&#xff0c;有助于在实际应用中减少机械振动和噪音。 方便快捷地熟悉V90的使用方式。通过伺…

【FastGPT】利用知识库创建AI智能助手

【FastGPT】利用知识库创建AI智能助手 摘要创建知识库上传文档创建应用准备提示词准备开场白关联知识库AI回答效果 摘要 关于FastGPT的部署&#xff0c;官方提供了docker-compose方式的部署文档&#xff0c;如果使用的是podman和podman-compose的同学&#xff0c;可以参考这篇…

html5炫酷3D立体文字效果实现详解

炫酷3D立体文字效果实现详解 这里写目录标题 炫酷3D立体文字效果实现详解项目概述技术实现要点1. 基础布局设置2. 动态背景效果3. 文字渐变效果4. 立体阴影效果5. 悬浮动画效果 技术难点及解决方案1. 文字渐变动画2. 立体阴影效果3. 性能优化 浏览器兼容性总结 项目概述 在这个…

Android音视频多媒体开源库基础大全

从事音视频开发工作&#xff0c;需要了解哪些常见的开源库&#xff0c;从应用到底软系统&#xff0c;整理了九大类&#xff0c;这里一次帮你总结完。 包含了应用层的MediaRecorder、surfaceView&#xff0c;以及常见音视频处理库FFmpeg和OpenCV&#xff0c;还有视频渲染和音频…

若依前端框架增删改查

1.下拉列表根据数据库加载 这个是用来查询框 绑定了 change 事件来处理站点选择变化后的查询逻辑。 <el-form-item label"站点选择" prop"stationId" v-has-permi"[ch:m:y]"><el-select v-model"queryParams.stationId" pl…

Java 第十一章 GUI编程(3)

目录 内部类 内部类定义 内部类的特点 匿名内部类 格式&#xff1a; 内部类的意义 实例 内部类 ● 把类定义在另一个类的内部&#xff0c;该类就被称为内部类。 ● 如果在类 Outer 的内部再定义一个类 Inner&#xff0c;此时类 Inner 就称为内部类 &#xff08;或称为嵌…

Transformer-GRU、Transformer、CNN-GRU、GRU、CNN五模型多变量回归预测

Transformer-GRU、Transformer、CNN-GRU、GRU、CNN五模型多变量回归预测 目录 Transformer-GRU、Transformer、CNN-GRU、GRU、CNN五模型多变量回归预测预测效果基本介绍程序设计参考资料 预测效果 基本介绍 Transformer-GRU、Transformer、CNN-GRU、GRU、CNN五模型多变量回归预…

3DMAX曲线生成器插件CurveGenerator使用方法

1. 脚本功能简介 3DMAX曲线生成器插件CurveGenerator是一个用于 3ds Max 的样条线生成工具&#xff0c;用户可以通过简单的UI界面输入参数&#xff0c;快速生成多条样条线。每条样条线的高度值随机生成&#xff0c;且可以自定义以下参数&#xff1a; 顶点数量&#xff1a;每条…

LiteratureReading:[2023] GPT-4: Technical Report

文章目录 一、文献简明&#xff08;zero&#xff09;二、快速预览&#xff08;first&#xff09;1、标题分析2、作者介绍3、引用数4、摘要分析&#xff08;1&#xff09;翻译&#xff08;2&#xff09;分析 5、总结分析&#xff08;1&#xff09;翻译&#xff08;2&#xff09;…

闻所闻尽:穿透声音的寂静,照见生命的本真

在《楞严经》的梵音缭绕中&#xff0c;"闻所闻尽"四个字如晨钟暮鼓&#xff0c;叩击着每个修行者的心门。这个源自观世音菩萨耳根圆通法门的核心概念&#xff0c;既是佛门修行的次第指引&#xff0c;更蕴含着东方哲学对生命本质的终极叩问。当我们穿越时空的帷幕&…

算法1--两束求和

题目描述 解题思路 先说一种很容易想到的暴力解法 暴力解法的思路很简单&#xff0c;就是遍历数组&#xff0c;对于每一个元素&#xff0c;都去遍历数组中剩下的元素&#xff0c;判断是否有两个元素的和等于目标值&#xff0c;如果有&#xff0c;就返回这两个元素的下标。 c…