字符串应用-简写单词
链接:https://ac.nowcoder.com/acm/contest/93962/J链接:https://ac.nowcoder.com/acm/contest/93962/J
来源:牛客网
规定一种对于复合词的简写方式为只保留每个组成单词的首字母,并将首字母大写后再连接在一起
比如 “College English Test”可以简写成“CET”,“Computer Science”可以简写为“CS”,“I am Bob”简写为“IAB”
输入一个长复合词(组成单词数 ≥1且≤100sum,sum≥1且sum≤100,每个单词长度,≥1且≤50,len,len≥1且len≤50),请你输出它的简写
输入描述:
输入一个复合词
输出描述:
输出一行,表示复合
仔细观察,简写的字母是每个单词的开头字母大写,但实际有些字母就是大写字母,所以用 if 语句来选择。当空格后的一个字母是小写字母时,把它减去32,转换成大写字母。这时会发现开头第一个单词前没有空格,那就把第一个字母单独拿出来判断,然后输出。
#include <iostream>
#include <string>
using namespace std;
int main()
{
string s;
getline(cin,s);
if(s[0]>='a'&&s[0]<='z'){
s[0]=s[0]-32;
}
cout<<s[0];
for(int i=0;i<s.size();i++){
if(s[i]==' '){
if(s[i+1]>='a'&&s[i+1]<='z'){
s[i+1]=s[i+1]-32;
cout<<s[i+1];
}
else{
cout<<s[i+1];
}
}
}
return 0;
}