hdu acm 2564 词组缩写

题目来源:http://acm.hdu.edu.cn/showproblem.php?pid=2564

题目描述:

Problem Description

定义:一个词组中每个单词的首字母的大写组合称为该词组的缩写。
比如,C语言里常用的EOF就是end of file的缩写。
 
Input
输入的第一行是一个整数T,表示一共有T组测试数据;
接下来有T行,每组测试数据占一行,每行有一个词组,每个词组由一个或多个单词组成;每组的单词个数不超过10个,每个单词有一个或多个大写或小写字母组成;
单词长度不超过10,由一个或多个空格分隔这些单词。
 
 Output
请为每组测试数据输出规定的缩写,每组输出占一行。
 
Sample Input
1 end of file
 
Sample Output
EOF
 
这道题目真的有小陷阱哦,首先是我自己没看清楚题目意思,就去提交了。后面才发现题目的陷阱。
这是一道较为简单的题目,就不多说了。
代码如下:
View Code
 1 #include<stdio.h>
 2 #include<stdlib.h>
 3 #include<string.h>
 4 char a[120],b[120];
 5 int main()
 6 {
 7     int T;
 8     int i;
 9     int len=0;
10     int k;
11     scanf("%d",&T);
12     getchar();
13     while(T--)
14     {
15         gets(a);
16         len=strlen(a);
17         strupr(a);
18         k=0;
19         for(i=0;i<len;i++)
20         {
21             if(i==0)
22             {
23                 if(a[i]==' ' && a[i+1]!=' ')
24                      b[k++]=a[i+1];
25                 else if(a[i]!=' ')
26                     b[k++]=a[i];
27             }
28             else 
29             {
30                 if(a[i]==' ' && a[i+1])
31                     b[k++]=a[i+1];
32             }
33         }
34         for(i=0;i<k;i++)
35         {
36             if(b[i]!=' ')
37                 printf("%c",b[i]);
38         }
39         printf("\n");
40     }
41     return 0;
42 }

 2012-07-20

 
 

posted on 2012-07-19 21:30  l流沙  阅读(1081)  评论(0)    收藏  举报

导航