删除单词后缀
时间限制: 1000 ms 内存限制: 65536 KB
提交数: 267 通过数: 222
【题目描述】
给定一个单词,如果该单词以er、ly或者ing后缀结尾, 则删除该后缀(题目保证删除后缀后的单词长度不为0), 否则不进行任何操作。
【输入】
输入一行,包含一个单词(单词中间没有空格,每个单词最大长度为32)。
【输出】
输出按照题目要求处理后的单词。
【输入样例】
referer
【输出样例】
refer
【来源】
【代码】
#include<stdio.h>
#include<string.h>
int main()
{
char a[32]; //按照题意定义一个字符数组
char *p; //定义一个指针
gets(a);
p=a;
if(strlen(a)<=2) //如果输入的单词长度为2,则直接输出
printf("%s\n",a);
else if(strlen(a)==3)//如果输入的单词长度为3
{
if(strcmp(p+1,"er")==0||strcmp(p+1,"ly")==0)//判断单词是否已"er"或者"ly"结尾
printf("%c\n",a[0]);//如果是,则输出字符数组第1位
else
printf("%s\n",a);//如果不是,则直接输出
}
else
{
if(strcmp(p+strlen(a)-3,"ing")==0)//判断单词是否已"ing"结尾
a[strlen(a)-3]=NULL;//将字符数组的后3位置空
p=a;
if(strcmp(p+strlen(a)-2,"er")==0||strcmp(p+strlen(a)-2,"ly")==0)//判断单词是否已"er"或者"ly"结尾
a[strlen(a)-2]=NULL; //将字符数组的后3位置空
printf("%s\n",a);
}
return 0;
}
【说明】
vc6.0运行成功,提交通过。