词组缩写
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 8963 Accepted Submission(s): 2859
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
AC CODE:
#include<stdio.h>
#include<string.h>
int main()
{
int t;
char str[500];
scanf("%d",&t);
getchar();
while(t--)
{
int i,l1;
gets(str);
for(i=0;;)
if(str[i]==' ')
i++;
else
break;
if(str[i]>='A'&&str[i]<='Z')
printf("%c",str[i]);
else
{
if(str[i]>='a'&&str[i]<='z')
printf("%c",str[i]-('a'-'A'));
}
l1=strlen(str);
for(;i<l1;i++)
if(str[i]==' '&&str[i+1]!=' ')
{
if(str[i+1]>='A'&&str[i+1]<='Z')
printf("%c",str[i+1]);
else
{
if(str[i+1]>='a'&&str[i+1]<='z')
printf("%c",str[i+1]-('a'-'A'));
}
}
printf("\n");
}
return 0;
}
解题关键:单词不是全由英文字母组成!!