早教吧 育儿知识 作业答案 考试题库 百科 知识分享

求C++大神给一组各分别以er、ly和ing结尾的单词,请删除每个单词的结尾的er、ly或ing,然后按原顺序输出删除后缀后的单词(删除后缀后的单词长度不为0).关于输入输入的第一行是一个整数n

题目详情
求C++大神
给一组各分别以er、ly和ing结尾的单词,请删除每个单词的结尾的er、ly或ing,然后按原顺序输出删除后缀后的单词(删除后缀后的单词长度不为0).
关于输入
输入的第一行是一个整数n(n≤50),表示后面有n个单词;
其后每行一个单词(单词中间没有空格,每个单词最大长度为32).
关于输出
按原顺序输出删除后缀后的单词.
例子输入
3
referer
lively
going
例子输出
refer
live
go
提示
使用strlen(str)方法可以知道字符串的长度;
使用strcmp(str1,str2)可以判断两个字符串是否相等;
注意,这两个函数都在string.h中.
▼优质解答
答案和解析
#include
#include
using namespace std;
char word[100][33];
int main()
{
int n;
cin >> n;
for(int i=0;i> word[i];
for(int i=0;i2&&word[i][len-2]=='e'&&word[i][len-1]=='r')
{
word[i][len-2] = 0;
}
else if(len>2&&word[i][len-2]=='l'&&word[i][len-1]=='y')
{
word[i][len-2] = 0;
}
else if(len>3&&word[i][len-3]=='i'&&word[i][len-2]=='n'&&word[i][len-1]=='g')
{
word[i][len-3] = 0;
}
cout