词组缩写

来源:互联网 发布:大数据和云计算 编辑:程序博客网 时间:2024/06/11 20:50

【题目描述】
定义:一个词组中每个单词的首字母的大写组合称为该词组的缩写。
比如,C语言里常用的EOF就是end of file的缩写。
【输入格式】
输入的第一行是一个整数T,表示一共有T组测试数据。
接下来有T行,每组测试数据占一行,每行有一个词组,每个词组由一个或多个单词组成;每组的单词个数不超过10个,每个单词有一个或多个大写或小写字母组成;
单词长度不超过10,由一个或多个空格分隔这些单词。
【输出格式】
请为每组测试数据输出规定的缩写,每组输出占一行。
【样例输入】
1
end of file
【样例输出】
EOF
【分析】
难度几乎为入门,然而陷阱太多。
大致的思路就是枚举空格然后输出。

#include<iostream>#include<cstdio>#include<algorithm>#include<cstring>#include<string>#include<cmath>using namespace std;char big(char ch){//从样例就可以看出要输出的缩写都是大写    if (ch>='a' && ch<='z') return ch-32; else return ch;}int main(){    string s;    int n;    scanf("%d",&n);    getchar();//读入N的时候没有换行,必须在这里读入换行符,我就在这里被坑了    while (n--) {        getline(cin,s);//不能用cin,因为cin遇到空格就停了        if (s.size()==1) cout<<big(s[0]);//坑点:1个字母是没有空格的        else          for (int i=1;i<s.size();i++){//C++的字符串中第一个字符下标为0,如果是Pascal就是从2到length(s)            if (s[i-1]==' ' && s[i]!=' ') cout<<big(s[i]);//正常的语句,不是坑            if (s[i-1]!=' ' && i==1) cout<<big(s[i-1]);//坑点:第一个字母前面没有空格,然而它也要输出          }        cout<<endl;    }}
3 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 被派出所拘留15天怎么办 老公从拘留所出来聪明老婆怎么办 中信信用卡忘记还款了怎么办 监狱的犯人病了怎么办 判缓期间在行政拘留怎么办 法院拘留15天工作怎么办 高血压签定了无期限合同怎么办 法院司法拘留找不到人怎么办 c1骑摩托车要拘留怎么办 欠钱的找不到人怎么办 治安拘留人跑了怎么办 行政拘留拘留所不收应该怎么办 在看守所被打了怎么办 取保候审超过12个月怎么办 拘留20天还没有判刑怎么办 被打了没有证据怎么办 拘留37天后没有放人怎么办 强制执行执行的财产不够怎么办 收到公安局拘留通知家属应该怎么办 对方不出谅解书怎么办 寻衅滋事没抓的 怎么办 公务员政审父母拘留过怎么办 我参与了网赌怎么办 亲人出车祸去世家属怎么办 车牌换了原保险怎么办 北京车牌夫妻变更车险怎么办 赌博拘留15天不交罚款怎么办 给人打了不赔钱怎么办 打了人对方讹钱怎么办 换车了原来的etc怎么办 换异地车牌了etc怎么办 被执行人拘留15天后不还钱怎么办 被执行人拘留后还是不还钱怎么办 摩托车套牌被交警扣了怎么办 套牌摩托车遇到交警怎么办 不知情收到小偷东西了怎么办 盗窃罪法院判定农民赔钱没钱怎么办 公安局通知家属取刑拘通知书怎么办 老公诈骗坐牢家人该怎么办 家人被拘留我该怎么办 车牌被偷了一个怎么办