首页 > 代码库 > 单词缩写
单词缩写
Problem Description
我们经常用一串短的字母代替一些长的单词。如ACM是Association for Computing Machinery的缩写。现在你用取首字母的办法得到一串单词的缩写。取首字母的办法是指把每个单词的首字母取出来用大写字母表示,然后把这些大写字母拼起来。但是也有些情况是例外的:一些情况在产生缩写是会被忽略,这些特殊情况见下面的规则:
1.常用的单词:and,for,the.
2.单词长度少于3的单词,如:a,of,to.
你现在的任务就是把给你的字符串用取首字母的办法得到它们的缩写。
1.常用的单词:and,for,the.
2.单词长度少于3的单词,如:a,of,to.
你现在的任务就是把给你的字符串用取首字母的办法得到它们的缩写。
Input
第一行是一个正整数T,表示测试用例数。每组测试用例包含一个长度小于100的字符串。这些单词只包含字母表中的字母。单词之间有一个空格。每行字符串的首尾没有空格。
Output
输出每组测试用例字符串的缩写。
Sample Input
5 Association for Computing Machinery Institute of Electrical and Electronics Engineers SUN YAT SEN UNIVERSITY The Lord of the Rings netease
Sample Output
ACM IEEE SYSU LR N
#include<stdio.h> #include <string.h> int main() { int t,i,j,len,k; char a[200],c[200]; scanf("%d",&t); getchar(); while(t--) { gets(a); len=strlen(a); i=0; k=0; while(i<len) { j=0; while(a[i]==' ') i++; while(a[i]!=' '&&a[i]) { c[j]=a[i]; i++; j++; } c[j]='\0'; k=strlen(c); strupr(c); // 转换大写字符串 ,需要VC编译器提交 头文件 string.h if(!(k<3||strcasecmp("AND",c)==0||strcmp("FOR",c)==0||strcmp("THE",c)==0)) { putchar(c[0]); } /* c[j]='\0'; k=strlen(c); //strcasecmp 不分大小写比较 头文件 string.h if(!(k<3||strcasecmp("AND",c)==0||strcasecmp("FOR",c)==0||strcasecmp("THE",c)==0)) { putchar(toupper(c[0])); } */ } printf("\n"); } return 0; }
单词缩写
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。