【习题解析】
1、删除单词后缀
【题目描述】
给定一个单词,如果该单词以er、ly或者ing后缀结尾, 则删除该后缀(题目保证删除后缀后的单词长度不为0), 否则不进行任何操作。
【输入】
输入一行,包含一个单词(单词中间没有空格,每个单词最大长度为32)。
【输出】
输出按照题目要求处理后的单词。
【输入样例】
referer
【输出样例】
refer
【参考程序】
#include
#include
usingnamespacestd;
chars[35];intmain()
{intl;gets(s);l=strlen(s);if(strcmp(&s[l-3],"ing")==)s[l-3]='\0';elseif(strcmp(&s[l-2],"er")==||strcmp(&s[l-2],"ly")==)s[l-2]='\0';puts(s);return;
}
2、单词的长度
【题目描述】
输入一行单词序列,相邻单词之间由1个或多个空格间隔,请对应地计算各个单词的长度。
注意:如果有标点符号(如连字符,逗号),标点符号算作与之相连的词的一部分。没有被空格间开的符号串,都算作单词。
【输入】
一行单词序列,最少1个单词,最多300个单词,单词之间用至少1个空格间隔。单词序列总长度不超过1000。
【输出】
依次输出对应单词的长度,之间以逗号间隔。
【输入样例】
She was born in 1990-01-02 and from Beijing city.
【输出样例】
3,3,4,2,10,3,4,7,5
【参考程序】
#include
#include
usingnamespacestd;
chara[1001];intmain(){intlen;boolfirst=1;while(cin>>a){len=strlen(a);if(first){first=;cout
}
3、最长最短单词
【题目描述】
输入1行句子(不多于200个单词,每个单词长度不超过100),只包含字母、空格和逗号。单词由至少一个连续的字母构成,空格和逗号都是单词间的间隔。
试输出第1个最长的单词和第1个最短单词。
【输入】
一行句子。
【输出】
第1行,第一个最长的单词。
第2行,第一个最短的单词。
【输入样例】
I am studying Programming language C in Peking University
【输出样例】
ProgrammingI
【提示】
提示:
如果所有单词长度相同,那么第一个单词既是最长单词也是最短单词。
#include
#include
#include
usingnamespacestd;
chars[20201];
intmain()
{intmax=,min=101,maxi,mini,t=;gets(s);intlen=strlen(s);s[len]=' ';//在字符串后添加一个空格,方便判定最后一个单词for(inti=;i){if(t>max)//判断是否需要更新目前的最长单词{max=t;
//max存储最长的单词长度maxi=i-t;
//maxi存储最长胡单词在句子中的起始位置}if(t
//min存储最短的单词长度mini=i-t;
//mini存储最短的单词在句子中的起始位置}t=;
//单词长度清零}}for(inti=maxi;i
//输出最长单词cout
//输出最短单词return;
}
扫码加入中山2018小学升学群聊
- END -授人以鱼,不如授人以渔。作业名师帮,不仅教你做作业,更教你学会做作业!致力于为全国中小学生提供全学段的学习辅导服务。免费提供一线名校、名师的教学方法;提供名校名师的学习资料、课件、试卷等。“互联网+”让教育公平触手可及!
领取专属 10元无门槛券
私享最新 技术干货