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. 首先,我们需要读取输入的药品名数量 n n n
  2. 然后,使用循环读取 n n n 个药品名,对于每个药品名:
    • 如果第一个字符是字母,将其转换为大写。
    • 将其余字符转换为小写。
    • 将整理后的药品名存储起来。
  3. 最后,将整理后的药品名逐行输出。

C++代码实现:

#include <iostream>
#include <string>
#include <cctype>
using namespace std;// 整理药品名的函数
string formatDrugName(string name) {string formattedName = "";for (int i = 0; i < name.length(); i++) {if (i == 0 && isalpha(name[i])) {formattedName += toupper(name[i]);  // 第一个字符如果是字母,转换为大写} else {formattedName += tolower(name[i]);  // 其余字符转换为小写}}return formattedName;
}int main() {int n;cin >> n;  // 读取药品名数量string drugNames[n];  // 存储整理后的药品名cin.ignore();  // 忽略换行符for (int i = 0; i < n; i++) {string name;getline(cin, name);  // 读取一行药品名drugNames[i] = formatDrugName(name);  // 整理药品名并存储}// 输出整理后的药品名for (int i = 0; i < n; i++) {cout << drugNames[i] << endl;}return 0;
}

代码解释:

  1. 我们定义了一个函数 formatDrugName,用于整理药品名的格式。函数接受一个字符串 name 作为参数,表示原始的药品名。
  2. 在函数内部,我们使用一个循环遍历药品名的每个字符:
    • 如果当前字符是第一个字符并且是字母,我们使用 toupper 函数将其转换为大写,并将转换后的字符添加到整理后的药品名 formattedName 中。
    • 对于其余字符,我们使用 tolower 函数将其转换为小写,并添加到 formattedName 中。
  3. 函数返回整理后的药品名 formattedName
  4. main 函数中,我们首先读取药品名的数量 n n n
  5. 然后,我们定义一个字符串数组 drugNames,用于存储整理后的药品名。
  6. 使用 cin.ignore() 忽略换行符,以便正确读取之后的输入。
  7. 接下来,我们使用一个循环读取 n n n 个药品名,对于每个药品名:
    • 使用 getline 函数读取一行输入的药品名。
    • 调用 formatDrugName 函数对药品名进行整理,并将结果存储在 drugNames 数组中。
  8. 最后,我们使用另一个循环逐行输出整理后的药品名。

这道题目主要考察字符串的处理和大小写转换。通过使用 touppertolower 函数,我们可以方便地将字符转换为大写或小写。同时,需要注意第一个字符的特殊处理,以满足题目要求。

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

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

相关文章

python获取cookie的方式

通过js获取cookie&#xff0c;避免反复登录操作。 经验证在JD上没有用&#xff0c;cookie应该无痕或者加密了&#xff0c;只能用单浏览器不关的模式来实现&#xff0c;但是代码留着&#xff0c;其他网站可能有用。 def cookie_set():driver webdriver.Chrome(optionschrome_…

一千题,No.0024(数素数)

令 Pi​ 表示第 i 个素数。现任给两个正整数 M≤N≤104&#xff0c;请输出 PM​ 到 PN​ 的所有素数。 输入格式&#xff1a; 输入在一行中给出 M 和 N&#xff0c;其间以空格分隔。 输出格式&#xff1a; 输出从 PM​ 到 PN​ 的所有素数&#xff0c;每 10 个数字占 1 行&…

Kubernetes 文档 / 概念 / 工作负载 / 工作负载管理 / Job

Kubernetes 文档 / 概念 / 工作负载 / 工作负载管理 / Job 此文档从 Kubernetes 官网摘录 中文地址 英文地址 Job 会创建一个或者多个 Pod&#xff0c;并将继续重试 Pod 的执行&#xff0c;直到指定数量的 Pod 成功终止。 随着 Pod 成功结束&#xff0c;Job 跟踪记录成功完成的…

原哥花了1个多月的时间终于开发了一款基于android studio的原生商城app

大概讲一下这个app实现的功能和前后端技术架构。 功能简介 广告展示商品展示跳转淘宝联盟优惠卷购买发布朋友圈宝妈知识资讯商品搜索朋友圈展示/点赞/评论登陆注册版本升级我的个人资料商品和资讯收藏我的朋友圈意见反馈 安卓端技术选型 Arouter组件化daggerrxjavaretrofit…

基于开源二兄弟MediaPipe+Rerun实现人体姿势跟踪可视化

概述 本文中&#xff0c;我们将探索一个利用开源框架MediaPipe的功能以二维和三维方式跟踪人体姿势的使用情形。使这一探索更有趣味的是由开源可视化工具Rerun提供的可视化展示&#xff0c;该工具能够提供人类动作姿势的整体视图。 您将一步步跟随作者使用MediaPipe在2D和3D环…

【计算机毕业设计】基于SSM+Vue的校园美食交流系统【源码+lw+部署文档】

目录 前 言 第1章 概述 1.1 研究背景 1.2 研究目的 1.3 研究内容 第二章 开发技术介绍 2.1 Java技术 2.2 Mysql数据库 2.3 B/S结构 2.4 SSM框架 第三章 系统分析 3.1 可行性分析 3.1.1 技术可行性 3.1.2 经济可行性 3.1.3 操作可行性 3.2 系统性能分析 3.3 系…

大模型训练中CUDA out of memory的几种解决方法

常用&#xff1a; 1. 减小batch size 2. 如果需要较大的batch size来达到预期训练指标效果&#xff0c;则使用gradient accumulation来累积梯度&#xff0c;达到等价效果的同时&#xff0c;占用显存小&#xff1b; 3. 使用低精度做训练。&#xff08;mixed precision traini…

自麻省理工学院和谷歌最新研究:零样本跨语言对齐的新途径

在构建实用的语言模型&#xff08;LMs&#xff09;时&#xff0c;使模型与人类偏好对齐是一个不可或缺的阶段。这通常需要大量的标注偏好数据&#xff0c;这些数据对于多种语言来说难以获取&#xff0c;尤其是对于多语种环境&#xff0c;这使得扩展到更多语言变得具有挑战性。本…

YOLO系列模型疑问

YOLO模型V1版本 1、论文里提到bounding box的&#xff08;x&#xff0c;y&#xff09;值表示什么意思呢&#xff1f; 原论文&#xff1a; Each bounding box consists of 5 predictions: x, y, w, h, and confidence. The (x, y) coordinates represent the center of the bo…

Golang发送GET请求并设置查询参数

服务端 package mainimport ("encoding/json""net/http""zdpgo_chi""zdpgo_chi/middleware" )func main() {r : zdpgo_chi.NewRouter()r.Use(middleware.RequestID)r.Use(middleware.RealIP)r.Use(middleware.Logger)r.Use(middlewar…

看这两位东北圣女美吗?如何描写美女的大长腿?

看这两位东北圣女美吗&#xff1f;如何描写美女的大长腿&#xff1f; 最近署名为懂球娘娘的一篇描写东北圣女的文章火了&#xff0c;文中描述了海棠朵朵与辛芷蕾这两位娇媚动人的角色。其美艳动人的形象和魅力四溢的描写让人为之倾倒。 这种通过文字展现人物魅力的能力让人佩服…

Hadoop运行wordcount实例任务卡在job running的多种情况及解决方法

第一种&#xff1a;配置问题 这是别人的图片&#xff0c;据楼主排查解决是因为hosts配置问题… 现象&#xff1a;各种无法运行、启动 解决办法&#xff1a; 1、修改日志级别 export HADOOP_ROOT_LOGGERDEBUG,console 查看下详细信息&#xff0c;定位到具体问题解决 第二种&…

每周题解:繁忙的都市

题目链接 繁忙的都市 题目描述 城市 C 是一个非常繁忙的大都市&#xff0c;城市中的道路十分的拥挤&#xff0c;于是市长决定对其中的道路进行改造。城市 C 的道路是这样分布的&#xff1a;城市中有 n n n 个交叉路口&#xff0c;有些交叉路口之间有道路相连&#xff0c;两…

5月26(信息差)

&#x1f30d; 珠峰登顶“堵车”后冰架断裂 5人坠崖 2人没爬上来&#xff01; 珠峰登顶“堵车”后冰架断裂 5人坠崖 2人没爬上来&#xff01; &#x1f384; Windows 11 Beta 22635.3646 预览版发布&#xff1a;中国大陆地区新增“微软电脑管家”应用 ✨ 成都限购解除即将满…

[图解]产品经理-竞赛题解析:阿布思考法和EA

1 00:00:00,410 --> 00:00:02,330 今天我们来说一道 2 00:00:02,610 --> 00:00:04,690 前些天出的一道竞赛题 3 00:00:07,250 --> 00:00:09,310 怎么样用阿布思考法 4 00:00:09,320 --> 00:00:10,540 来改进EA 5 00:00:11,690 --> 00:00:12,620 题目是这样的…

简述 v-model 双向绑定的原理是什么?

v-model 是 Vue.js 中用于实现表单输入和应用状态&#xff08;即数据&#xff09;之间双向绑定的指令。其原理可以概括如下&#xff1a; 基本思想&#xff1a; v-model 是 v-bind 和 v-on 的语法糖&#xff0c;它结合了输入元素的 value 属性和 input 事件。当输入元素的值发生…

Kivy 项目51斩百词 5

MRWord\pages\infopage\info.py def read_random_word(self) def read_random_word(self):"""随机读取一条数据"""sql "SELECT * FROM word WHERE id (SELECT word_id FROM today ORDER BY RANDOM() limit 1)"rows select_data(sq…

Django 里html模板

Django 提供两种方式让程序员自定义html模板。 第一种方法 在项目文件夹里的urls.py进行添加 修改代码如下 from django.contrib import admin from django.urls import path from app01 import views # 得添加这行urlpatterns [path(xxx/, views.home), # 添加这行path(…

Java中print,println,printf的功能以及区别

在Java中&#xff0c;System.out.print, System.out.println, 和 System.out.printf 都是用于在控制台输出的方法&#xff0c;但它们在使用和功能上有所不同。 System.out.print: * 功能&#xff1a;将指定的内容输出到控制台&#xff0c;但不换行。 * 示例&#xff1a;Sy…