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

来源:互联网 发布:网吧网络密码是多少 编辑:程序博客网 时间:2024/04/28 15:27

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




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

2bookfish

Sample Output

booksfishes
#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;}

原创粉丝点击