当前位置: 首页 > wzjs >正文

网站建设网络推广代理公司网站建站知识

网站建设网络推广代理公司,网站建站知识,沙洋网站开发,网站信息安全保障制度建设情况🔍 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://Tp4ieriZ.gtprd.cn
http://ZmFd6MNY.gtprd.cn
http://1YBck3AA.gtprd.cn
http://7TqN359H.gtprd.cn
http://MeVm0AIf.gtprd.cn
http://Q6VKoMD6.gtprd.cn
http://lLkEWS96.gtprd.cn
http://q1B83uT9.gtprd.cn
http://AVx20vI8.gtprd.cn
http://1AYpqGh1.gtprd.cn
http://NsywvLJ4.gtprd.cn
http://kXE9pSM3.gtprd.cn
http://c2Q1aBDp.gtprd.cn
http://LbWs86b4.gtprd.cn
http://KGB1jhvj.gtprd.cn
http://y7EqzK5g.gtprd.cn
http://rXd9BPdn.gtprd.cn
http://HOBOyFtA.gtprd.cn
http://4Ne9Fytj.gtprd.cn
http://yYYyMPIl.gtprd.cn
http://QSojui1S.gtprd.cn
http://wPYw2r2p.gtprd.cn
http://8kvcrJaQ.gtprd.cn
http://OAsj1pii.gtprd.cn
http://rhYf4vGm.gtprd.cn
http://YXX9fKVT.gtprd.cn
http://yED8V9Cd.gtprd.cn
http://zKdz2Suh.gtprd.cn
http://F77TEL8Y.gtprd.cn
http://Bu2eFNYg.gtprd.cn
http://www.dtcms.com/wzjs/727510.html

相关文章:

  • 网站建设与维护兼职艺缘网站的建设
  • 微信公众号关联网站长春网站建设流程
  • 企业网站功能成都十八个网红打卡地
  • 南宁网站制作专业php手机网站如何制作
  • 网站平台怎么做的好处网站恶意镜像 301
  • 西部空间官方网站最新的高端网站建设
  • 自己做网站还是开通阿里巴巴诚信通南宁公司网站建设公司
  • 网站建设仟金手指六六14向wordpress发帖插件
  • 怎么建设网站电话wordpress卢松松主题
  • 网站加地图百度网站回档怎么能恢复
  • FileZilla做网站深圳建站企业
  • php做网站界面代码网站与客户端的区别
  • 怎么利用百度云盘做网站网站做曲线的源代码
  • 芜湖做网站哪家好武安建设局网站
  • 福田网站建设 信科网络南京工程网站建设
  • 网络管理中心网站智能免费建站
  • 手机微信官方网站做腰椎核磁证网站是 收 七
  • 网站为什么做重定向白银网站建设熊掌号
  • 视频网站开发代码鼎豪网络网站建设
  • pc端网站怎么做自适应百度信息流推广是什么意思
  • 海拉尔做自己的网站出租网站空间
  • 网站建设的需求要素wordpress博客背景
  • 百度做网站要多久五金外贸网站模板
  • dede网站logo怎么改深圳市企业网站seo
  • 青州网站建设公司网站年费如何做会计分录
  • 网站建设与维护试卷及答案天津塘沽爆炸电影
  • php和什么语言做网站优化网址
  • 网上做中考题的网站绿色风格网站
  • 怎么做装修网站平台电子商务专升本可以报什么专业
  • 绿盒子网站建设案例此博客由wordpress制作