Content

科学论文会大量引用一些早期的著作,因此在一个论文中出现两种不同的命名约定并不少见。这两种不同的命名约定分别是:

  • 长变体,由每个作者姓氏的完整单词由连字符连接而成,例如 Knuth-Morris-Pratt
  • 短变体,仅由每个作者姓氏的第一个字符拼接而成,例如 KMP

现在,你发现了一篇论文中同时使用了长变体和短变体这两种命名约定,你想编写一个程序,将所有的长变体变为短变体。

数据范围:字符串长度不超过 \(100\)。

Solution

供题人在此谢罪,一开始没有把长变体中的每个单词开头一定是大写字母这个条件翻译上来,但貌似并不影响?如果没有翻译出来这个条件,也只需要将每个连字符 - 后的字符或第一个字符直接拿出来拼在一起就好了。

当然,有了长变体中的每个单词开头一定是大写字母这个条件之后,这道题目就非常简单了。在 cctype/ctype.h 库里面有一个 isupper() 函数,它可以判断当前的字符是否是一个大写字母。于是,我们直接遍历整个字符串,逢大写字母就输出即可。

Code

下面的代码是 COCI 官方给出的代码。

#include <string>
#include <iostream>
#include <cctype> using namespace std; int main() {
string a;
cin >> a;
for (int i = 0; i < (int)(a.size()); i++)
if (isupper(a[i]))
cout << a[i];
return 0;
}

最新文章

  1. codevs 1472 体检
  2. windows系统中WIN键的快捷组合
  3. Types of Learning
  4. .NET ORM 的 “SOD蜜”--零基础入门篇
  5. [转]解决vista和win7在windows服务中交互桌面权限问题:穿透Session 0 隔离
  6. 【转】c++笔试题
  7. Ubuntu14.04配置Apache支持多个站点
  8. HDU 2544 最短路(模板题——Floyd算法)
  9. Mysql 源码:关于innodb中两次写的探索
  10. 分享一个基于web的满意度调查问卷源码系统
  11. js 深度复制deepClone
  12. @ResponseBody注解
  13. solr与tomcat集成
  14. python 爬虫之 selenium API
  15. #Linux第四周学习总结——扒开系统调用的三层皮(上)
  16. 【ArcGIS】ArcGIS Data Store配置
  17. JS设计模式——4.继承(示例)
  18. vnpy自动化交易
  19. 2018.12.31 Failed to load JavaHL Library.错误解决
  20. SQL小练习

热门文章

  1. go语言并发编程
  2. 下载安装wps后去除监控
  3. Gin 如何动态生成模型 swagger 文档
  4. Codeforces 338E - Optimize!(Hall 定理+线段树)
  5. 洛谷 P3781 - [SDOI2017]切树游戏(动态 DP+FWT)
  6. DP 做题记录 II.
  7. Mike post process with Matlab toolbox
  8. Oracle——创建多个实例(数据库)、切换实例、登录数据库实例
  9. Linux-普通用户和root用户任意切换
  10. 学习java的第十五天