1039: 词组缩写
程序员文章站
2022-06-10 09:10:33
题目描述 定义:一个词组中每个单词的首字母的大写组合称为该词组的缩写。比如,C语言里常用的EOF就是end of file的缩写。 输入 输入的第一行是一个整数T,表示一共有T组测试数据。接下来有T行,每组测试数据占一行,每行有一个词组,每个词组由一个或多个单词组成;每组的单词个数不超过10个,每个 ......
题目描述
定义:一个词组中每个单词的首字母的大写组合称为该词组的缩写。
比如,c语言里常用的eof就是end of file的缩写。
比如,c语言里常用的eof就是end of file的缩写。
输入
输入的第一行是一个整数t,表示一共有t组测试数据。
接下来有t行,每组测试数据占一行,每行有一个词组,每个词组由一个或多个单词组成;每组的单词个数不超过10个,每个单词有一个或多个大写或小写字母组成;
单词长度不超过10,由一个或多个空格分隔这些单词。
接下来有t行,每组测试数据占一行,每行有一个词组,每个词组由一个或多个单词组成;每组的单词个数不超过10个,每个单词有一个或多个大写或小写字母组成;
单词长度不超过10,由一个或多个空格分隔这些单词。
输出
请为每组测试数据输出规定的缩写,每组输出占一行。
样例输入
1 end of file
样例输出
eof
1 #include<stdio.h> 2 #include<iostream> 3 #include<string> 4 using namespace std; 5 int main() 6 { 7 int n; 8 scanf("%d",&n); 9 while(n--){ 10 string a; 11 while(cin>>a){ 12 if(a[0]>='a'&&a[0]<='z'){ 13 printf("%c",a[0]-32); 14 }else{ 15 printf("%c",a[0]); 16 } 17 char ch=getchar(); 18 if(ch=='\n'){ 19 break; 20 } 21 } 22 printf("\n"); 23 } 24 return 0; 25 }
mist笔记:这道题写了蛮久的,其实问题不难解决,主要是想不到一个比较好的方法。本题难点在于如何读取字符串,使得后面方便处理。
你会发现我除了用cin读入字符串外,还加了一个getchar函数。因为cin函数遇到空格或者换行会结束读入,但是cin并没有丢弃换行符,
而getchar是可以读取换行符的,因此每次输入一行字符串,用getchar来吸收换行符,判断结束,cin以空格结束,这样可以利用空格切割字符串
也是一个讨人喜的方法。
上一篇: 博客遇到了流量攻击
下一篇: 为什么要工作?不然呢?