更多课程 选择中心

C/C++培训
达内IT学院

400-111-8989

C++培训基础知识-字符串应用解析

  • 发布:C++培训
  • 来源:C++培训,C++培训课程,字符串应用解析
  • 时间:2018-05-14 18:00

移动互联网的兴起,让大规模在线开放课程(“MOOC”)在全世界如雨后春笋般产生,近日教育部也出台了《关于加强高等学校在线开放课程建设应用与管理的意见》,从官方政策上认可和支持了MOOC的发展。

c是面向过程的编程语言,c++在某种意义上来说是c的一个升级版,是面向对象的编程语言。

 那么今天小编给大家带来的是C++培训课程中的C++培训基础知识-字符串应用解析

1、删除单词后缀

【题目描述】

给定一个单词,如果该单词以er、ly或者ing后缀结尾, 则删除该后缀(题目保证删除后缀后的单词长度不为0), 否则不进行任何操作。

【输入】

输入一行,包含一个单词(单词中间没有空格,每个单词最大长度为32)。

【输出】

输出按照题目要求处理后的单词。

【输入样例】

referer

【输出样例】

refer

【参考程序】

#include<cstdio>#include<cstring>using namespace std;char s[35];int main(){

int l;

gets(s);

l=strlen(s);

if(strcmp(&s[l-3],"ing")==0) s[l-3]='\0';

else

if(strcmp(&s[l-2],"er")==0||strcmp(&s[l-2],"ly")==0) s[l-2]='\0';

puts(s);

return 0;}

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<iostream>#include<cstring>using namespace std;char a[1001];int main(){

int len;

bool first=1;

while(cin>>a)

{

len=strlen(a);

if(first)

{

first=0;

cout<<len;

}

else

cout<<','<<len;

}

cout<<endl;

return 0;}

3、最长最短单词

【题目描述】

输入1行句子(不多于200个单词,每个单词长度不超过100),只包含字母、空格和逗号。单词由至少一个连续的字母构成,空格和逗号都是单词间的间隔。

试输出第1个最长的单词和第1个最短单词。

【输入】

一行句子。

【输出】

第1行,第一个最长的单词。

第2行,第一个最短的单词。

【输入样例】

I am studying Programming language C in Peking University

【输出样例】

Programming

I

【提示】

提示:

如果所有单词长度相同,那么第一个单词既是最长单词也是最短单词。

#include<iostream>#include<cstring>#include<cstdio>using amespace std;char s[20201];int main(){

int max=0,min=101,maxi,mini,t=0;

gets(s);

int len=strlen(s);

s[len]=' '; //在字符串后添加一个空格,方便判定最后一个单词

for(int i=0;i<=len;i++)

{

if(s[i]!=' '&&s[i]!=',') t++; //若不是空格或逗号,则继续累加目前单词的长度

else if(t>0)

{

if(t>max) //判断是否需要更新目前的最长单词

{

max=t; //max存储最长的单词长度

maxi=i-t; //maxi存储最长胡单词在句子中的起始位置

}

if(t<min)

{

min=t; //min存储最短的单词长度

mini=i-t; //mini存储最短的单词在句子中的起始位置

}

t=0; //单词长度清零

}

}

for(int i=maxi;i<=maxi+max-1;i++)

cout<<s[i]; //输出最长单词

cout<<endl;

for(int i=mini;i<=mini+min-1;i++)

cout<<s[i]; //输出最短单词

return 0;}

 

而随着当今世界嵌入式开发的发展、大型算法应用,特别是搜索引擎、云计算的兴起,C语言的用武之地不但没有萎缩,反而有逐渐扩展的趋势。所以,如果你有意向这些领域发展,C语言是你的不二之选。

欢迎加入达内c++培训课堂!

预约申请免费试听课

填写下面表单即可预约申请免费试听!怕钱不够?可就业挣钱后再付学费! 怕学不会?助教全程陪读,随时解惑!担心就业?一地学习,可全国推荐就业!

上一篇:C++开发中如何定义动态数组
下一篇:C++培训课程中的C++布尔类型(bool)

C语言创建windows窗口实例

C++回调函数是什么?

C++ shared_ptr和动态数组

C语言有哪些关键词,C语言44个关键词大全

  • 扫码领取资料

    回复关键字:视频资料

    免费领取 达内课程视频学习资料

  • 搜索抖音号

    搜索抖音号:1821685962

    免费领取达内课程视频学习资料

Copyright © 2021 Tedu.cn All Rights Reserved 京ICP备08000853号-56 京公网安备 11010802029508号 达内时代科技集团有限公司 版权所有

选择城市和中心
黑龙江省

吉林省

河北省

湖南省

贵州省

云南省

广西省

海南省