删除单词后缀
题目描述
给定一个单词,如果该单词以 er
、 ly
或者 ing
后缀结尾,则删除该后缀(题目保证删除后缀后的单词长度不为
0
0
0),否则不进行任何操作。
输入格式
输入一行,包含一个单词(单词中间没有空格,每个单词最大长度为 32 32 32)。
输出格式
输出按照题目要求处理后的单词。
样例 #1
样例输入 #1
referer
样例输出 #1
refer
参考代码
#include <stdio.h>
#include <string.h>
int main()
{
char arr[40]={};
char *p=arr;
int i=0;
scanf("%s",arr);
i=strlen(arr);
arr[i]='\0';
p=p+i-3;
if(strcmp(p++,"ing")==0)
{
arr[i-3]='\0';
}
else if(strcmp(p,"er")==0||strcmp(p,"ly")==0)
arr[i-2]='\0';
printf("%s",arr);
return 0;
}
经过测试,这个问题中如果使用fgets,虽然结果能正常,但是洛谷测试总是显示WA,不知道是什么原因,还请各位指点