词组缩写(isalpha()的应用)

Problem Description

定义:一个词组中每个单词的首字母的大写组合称为该词组的缩写。
比如,C语言里常用的EOF就是end of file的缩写。

Input

输入的第一行是一个整数T,表示一共有T组测试数据;
接下来有T行,每组测试数据占一行,每行有一个词组,每个词组由一个或多个单词组成;每组的单词个数不超过10个,每个单词有一个或多个大写或小写字母组成;
单词长度不超过10,由一个或多个空格分隔这些单词。

Output

请为每组测试数据输出规定的缩写,每组输出占一行。

Sample Input

1
end of file

Sample Output

EOF

本题要考虑的情况:

asd   asd

asd asd   asd

 1 #include <stdio.h>
 2 #include <math.h>
 3 #include <queue>
 4 #include <vector>
 5 #include <stack>
 6 #include <map>
 7 #include <string>
 8 #include <string.h>
 9 #include <algorithm>
10 #include <iostream>
11 using namespace std;
12 char str[1000],s[1000];
13 int main( )
14 {
15     int t;
16     scanf( "%d%*c",&t );
17     while( t-- )
18     {
19            gets( str );
20            int i = 0,c = 0;
21            while( str[i] )
22            {
23                   if( !isalpha( str[i] ) )//如果输入字符是一个英文字母,即 a-z或A-Z,返回非零值(具体返回多少要看系统实现),否则返回0.
24                   {
25                       ++i;
26                       continue;
27                   }
28                   if( str[i] > ‘Z‘ )
29                       str[i] -= 32;
30                   s[c++] = str[i];
31                   while( isalpha( str[i] ) )
32                          ++i;
33                   }
34              s[c] = 0;
35            puts( s );
36            }
37     return 0;
38 }

分解:

 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 }
时间: 2024-10-13 06:14:06

词组缩写(isalpha()的应用)的相关文章

HDU 2564 词组缩写

词组缩写 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 14487    Accepted Submission(s): 4705 Problem Description 定义:一个词组中每个单词的首字母的大写组合称为该词组的缩写.比如,C语言里常用的EOF就是end of file的缩写. Input 输入的第一行是一个整数T,表示一

词组缩写

Problem Description 定义:一个词组中每个单词的首字母的大写组合称为该词组的缩写.比如,C语言里常用的EOF就是end of file的缩写. Input 输入的第一行是一个整数T,表示一共有T组测试数据:接下来有T行,每组测试数据占一行,每行有一个词组,每个词组由一个或多个单词组成:每组的单词个数不超过10个,每个单词有一个或多个大写或小写字母组成:单词长度不超过10,由一个或多个空格分隔这些单词. Output 请为每组测试数据输出规定的缩写,每组输出占一行. Sample

HDOJ/HDU 2564 词组缩写(单词缩写)

Problem Description 定义:一个词组中每个单词的首字母的大写组合称为该词组的缩写. 比如,C语言里常用的EOF就是end of file的缩写. Input 输入的第一行是一个整数T,表示一共有T组测试数据: 接下来有T行,每组测试数据占一行,每行有一个词组,每个词组由一个或多个单词组成:每组的单词个数不超过10个,每个单词有一个或多个大写或小写字母组成: 单词长度不超过10,由一个或多个空格分隔这些单词. Output 请为每组测试数据输出规定的缩写,每组输出占一行. Sam

2895: 【基础】小X与缩写

题目: 时间限制 : 1 Sec 内存限制 : 128 Mb 提交 : 91 解决 : 50 题目描述 小X注意到,生活中有很多用到首字母缩写的例子.例如UOJ就是通用在线评测(Universal Online Judge)的缩写. 我们定义一个英文词组的首字母缩写为:取出词组中每个单词的第一个字母.全部转化成大写并顺次连接. 于是小X想请你帮忙写一个程序,读入一行英文句子,将用括号括出的词组替换为首字母缩写再输出. 输入 输入一行仅包含英文字母.英文逗号','.英文句号'.'.左右括号'()'

【apache solr系列】jcseg与pinyinTokenFilter实现中文缩写查找

转载请注明:http://blog.csdn.net/weijonathan/article/details/40504029 今天要写的是关于分词查询的. 我们先来看下下面这张图 应该说很多做搜索的系统都会涉及到的一个话题:中文缩写搜索,当你输入相应的中文缩写的时候,会给你提示相应的中文词组 而现在网上各式各样的文章都没有多少能真正介绍如何实现的.经过前阵子的研究,我这边整理一个我自己研究的效果, 先来看下相关插件以及下载地址: jcseg下载地址及官网 下载地址:http://git.osc

Emmet缩写语法

官方网站  http://emmet.io/ 缩写语法 Emmet 使用类似于 CSS 选择器的语法描述元素在生成的文档树中的位置及其属性. 元素 可以使用元素名(如 div 或者 p)来生成 HTML 标签.Emmet 没有预定义的有效元素名的集合,可以把任何单词当作标签来生成和使用:div → <div></div>, foo → <foo></foo> 等. 嵌套运算符 嵌套运算符用于以缩写的方式安排元素在生成文档树中的位置:将其放在内部或成为相邻的元

21 css中字体的缩写

<!doctype html> <html> <head> <meta charset="utf-8"> <title>无标题文档</title> <style type="text/css"> /*下边是body{ font-style:italic; font-variant:small-caps; font-weight:bold; font-size:20px; line-h

nltk中的三元词组,二元词组

在做英文文本处理时,常常会遇到这样的情况,需要我们提取出里面的词组进行主题抽取,尤其是具有行业特色的,比如金融年报等.其中主要进行的是进行双连词和三连词的抽取,那如何进行双连词和三连词的抽取呢?这是本文将要介绍的具体内容. 1. nltk.bigrams(tokens) 和 nltk.trigrams(tokens) 一般如果只是要求穷举双连词或三连词,则可以直接用nltk中的函数bigrams()或trigrams(), 效果如下面代码: 1 >>> import nltk 2 >

H5 文字属性的缩写

05-文字属性的缩写 p { font: bold italic 10px "楷体" } abc我是段落 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>05-文字属性的缩写</title> <style> p{ /* font-style: italic; font-we