mmxingye

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

09 | 词组缩写问题求解

题目描述

定义:一个词组中每个单词的首字母的大写组合称为该词组的缩写。 比如,C语言里常用的EOF就是end of file的缩写。

输入

测试数据占一行,有一个词组,每个词组由一个或多个单词组成;每组的单词个数不超过10个,每个单词有一个或多个大写或小写字母组成; 单词长度不超过10,由一个或多个空格分隔这些单词。

输出

输出规定的缩写

样例

输入

end of file

输出

EOF
#include <bits/stdc++.h>
using namespace std;
/*
第一步:要获得每个单词的首字母
如果是第-一个字符,那么不是空格就是首字母;
如果不是第-一个字符,当前字符不是空格,且上一个(s[i-1]) 字符是空格,则是首字母
*/
/*
第二步:判断,如果该字母是小写,转换为大写输出,如果是大写则直接输出
*/
//判断输入的字符是否是小写,如果是大写转大写,如果是大写则不转换
char up(char c){
if(c >= 'a' && c <= 'z'){
c=c-32;//c=C-('a'-'A');
}
return c;
}
int main(){
char s[1000];//存 储词组
int i;
gets(s);
//循环每个字符,判断输出首字母
for(i = 0;i < strlen(s);i++){
//如果是首字母
//如果是第一一个字符,且不是空格则是首字母
if(i==0 && s[i]!=' '){
cout<<up(s[i]);
//如果不是第一一个字符,则要满足当前字符不是空格,且 上-一个字符是空格
}else if(i!=0 && s[i]!=' ' && s[i-1] == ' '){
cout<<up(s[i]);
}
}
getchar();
getchar();
}

posted on   独立树  阅读(244)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
点击右上角即可分享
微信分享提示