1029 - 词组缩写
时间限制 : 1 秒
内存限制 : 32 MB
定义:一个词组中每个单词的首字母的大写组合称为该词组的缩写。
比如,C语言里常用的EOF就是end of file的缩写。
题目输入
输入的第一行是一个整数T,表示一共有T组测试数据。
接下来有T行,每组测试数据占一行,每行有一个词组,每个词组由一个或多个单词组成;每组的单词个数不超过10个,每个单词有一个或多个大写或小写字母组成;
单词长度不超过10,由一个或多个空格分隔这些单词。
题目输出
请为每组测试数据输出规定的缩写,每组输出占一行。
输入/输出样例
输入格式
1 end of file
输出格式
EOF
C语言解答
#include<stdio.h> #include<string.h> #include<ctype.h> int main() { int t,n,i; char a[200]; scanf("%d%*c",&t); while(t--) { gets(a); for(n=i=0;i<strlen(a);i++) { if(isalpha(a[i])&&n==0) { putchar(toupper(a[i])); n++; } if(!isalpha(a[i])) n=0; } printf("\n"); } return 0; }
C++解答
#include<stdio.h> #include<string.h> #include<ctype.h> int main() { int t,n,i; char a[200]; scanf("%d%*c",&t); while(t--) { gets(a); for(n=i=0;i<strlen(a);i++) { if(isalpha(a[i])&&n==0) { putchar(toupper(a[i])); n++; } if(!isalpha(a[i])) n=0; } printf("\n"); } return 0; }
Java解答
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); int t = Integer.parseInt(in.nextLine()); while(t-->0){ String[] ss = in.nextLine().split(" "); StringBuffer sb = new StringBuffer(); for(String s:ss) if(!s.equals("")) if(s.charAt(0)>'Z')sb.append((char)(s.charAt(0)-'a'+'A')); else sb.append((char)(s.charAt(0))); System.out.println(sb); } } }
Python解答
def f(a): c = '' for i in range(len(a)): b = a[i] c = c +b[0].upper() return c n = int(raw_input()) while n > 0: n -= 1 line = raw_input().split() print f(line)