ACM 单数变复数 怎么总是通不过啊

这个题目怎么总是通不过啊,求请教,明明运行答案是对的大哭




Problem I:单数变复数

Time Limit:1000MS  Memory Limit:65536K
Total Submit:6 Accepted:0

Description

英文单词,我们可以按照英语语法规则把单数变成复数。规则如下: 
(1)以辅音字母y结尾,则加es 
(2)以s,x,ch,sh结尾,则加es 
(3)以元音o结尾,则加es 
(4)其他情况加上s

Input

第一行输入一个数字n,表示有n组测试数据 
后面跟n行,每行是一个英语单词

Output

对于每组测试数据,输出一行,要求将输入的英文单词变成复数

Sample Input

2
book
fish

Sample Output

books
fishes




#include<stdio.h>
#include<string.h>
int main() 
{ 
     int n,i,q;
	 char s[10000];
     while(scanf("%d",&n)!=EOF) 
	 {
        for(i=0;i<n;i++)
		{
			scanf("%s",&s);
			q=strlen(s);
			if(s[q-1]=='y')printf("%s\n",strcat(s,"es"));
			else if(s[q-1]=='s')printf("%s\n",strcat(s,"es"));
			else if(s[q-1]=='x')printf("%s\n",strcat(s,"es"));
			else if(s[q-2]=='c'&&s[q-1]=='h')printf("%s\n",strcat(s,"es"));
			else if(s[q-2]=='s'&&s[q-1]=='h')printf("%s\n",strcat(s,"es"));
			else if(s[q-1]=='o')printf("%s\n",strcat(s,"es"));
            else if (s[q-1]!='y'&&s[q-1]!='s'&&s[q-1]!='x'&&s[q-1]!='o'&&(s[q-2]!='c'&&s[q-1]!='h')&&(s[q-2]!='s'&&s[q-1]!='h'))
				printf("%s\n",strcat(s,"s"));    
		}
	 } 
   return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值