当前位置:   article > 正文

信息学奥赛一本通:1141:删除单词后缀_给定一个单词如果该单词以er ly或者ing后缀结尾

给定一个单词如果该单词以er ly或者ing后缀结尾

【题目描述】

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

【输入】

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

【输出】

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

【输入样例】

referer

【输出样例】

refer

【输出样例】

s.substr(start, length)方法:返回一个从指定位置开始,并具有指定长度的子字符串。
参数:
1.start:必选。所需的子字符串的起始位置。字符串中第一个字符的索引为 0。
2.length:可选项。返回的子字符串中包含的字符数。

补充:若start的值超过了string的大小,则substr函数会抛出一个out_of_range异常;若start+length的值超过了string的大小,则substr会调整length的值,只拷贝到string的末尾

size()
size()函数是用于计算string对象长度的一个成员函数,它包含在STL中
size()也可返回vector、map对象的长度。

注意的是,size()的返回值是unsigned类型的,所以不能和负数比较大小。
输出的结果是-1。
unsigned类型跟负数比较大小,会先将有符号数转换为无符号数再比较大小,会无法预估大小

length()
length()函数的使用与size()函数并无区别

  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. int main()
  4. {
  5. string s1;
  6. int len=0;
  7. cin>>s1;
  8. len=s1.size();
  9. if(s1.substr(len-3,len)=="ing")
  10. {
  11. cout<<s1.substr(0,len-3);
  12. }
  13. else if(s1.substr(len-2,len)=="er"||s1.substr(len-2,len)=="ly")
  14. {
  15. cout<<s1.substr(0,len-2);
  16. }
  17. return 0;
  18. }

 

【输出样例】

cin.getline()函数
【函数用法】
接收一个字符串并输出(可含空格)。

【参数详解】
1.cin.getline()函数的完整形式有三个参数:cin.getline(字符数组名,字符个数,结束标志)
    注意:若指定参数“字符个数”为n,则利用cout函数输出时只显示字符数组中的前n-1个字符。
    原因:字符数组的第n个字符是不可见字符'\0'
2.当第三个参数省略时,系统默认为'\0'
3.简单实例:  
  cin.getline(str,8,'m'),当输入abcdefghijklmn时,输出abcdefg,因为第8位是不可见字符'\0'
  cin.getline(str,8,'e'),当输入abcdefghijklmn时,输出abcd
 
函数strlen()是C语言的提供的函数。
它包含在#include <string.h>这个头文件中,strlen函数接受的实参是一个字符串数组,返回值是字符串数组的长度,不包括空字符在内,返回的值是一个int类型的整数值。

  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. char s1[33],c1,c2,c3;
  4. int main()
  5. {
  6. int len=0;
  7. cin.getline(s1,33);
  8. len=strlen(s1);
  9. c1 = s1[len-1];
  10. c2 = s1[len-2];
  11. c3 = s1[len-3];
  12. if(c3 == 'i' && c2 == 'n' && c1 == 'g')
  13. {
  14. s1[len-3] = '\0';
  15. }
  16. else if(c2 == 'e' && c1 == 'r' || c2 == 'l' && c1 == 'y')
  17. {
  18. s1[len-2] = '\0';
  19. }
  20. cout<<s1;
  21. return 0;
  22. }

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/442629
推荐阅读
相关标签
  

闽ICP备14008679号