词组缩写
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 13291 Accepted Submission(s): 4302
Problem Description
定义:一个词组中每个单词的首字母的大写组合称为该词组的缩写。
比如,C语言里常用的EOF就是end of file的缩写。
比如,C语言里常用的EOF就是end of file的缩写。
Input
输入的第一行是一个整数T,表示一共有T组测试数据;
接下来有T行,每组测试数据占一行,每行有一个词组,每个词组由一个或多个单词组成;每组的单词个数不超过10个,每个单词有一个或多个大写或小写字母组成;
单词长度不超过10,由一个或多个空格分隔这些单词。
接下来有T行,每组测试数据占一行,每行有一个词组,每个词组由一个或多个单词组成;每组的单词个数不超过10个,每个单词有一个或多个大写或小写字母组成;
单词长度不超过10,由一个或多个空格分隔这些单词。
Output
请为每组测试数据输出规定的缩写,每组输出占一行。
Sample Input
1 end of file
Sample Output
EOF
Author
lemon
Source
绍兴托普信息技术职业技术学院——第二届电脑文化节程序设计竞赛
#include <stdio.h>
#include <string.h>
int main() {
int t;
scanf("%d\n",&t);
while (t--) {
char s[1000],g[20];
gets(s);
int i=0,j=0,k=0;
int len=(int)strlen(s);
for (j=0; j<len; j++) {
if ((s[j]==' '&&s[j+1]!=' ')||j==0) {
for (i=j; i<=len; i++) {
if ((s[i]>='a'&&s[i]<='z')||(s[i]>='A'&&s[i]<='Z')) {
(s[i]>='A'&&s[i]<='Z')?g[k++]=s[i]:g[k++]=s[i]-32;
j=i;
break;
}
}
}
}
for (i=0; i<k; i++) {
printf("%c",g[i]);
}
printf("\n");
}
return 0;
}