zoukankan      html  css  js  c++  java
  • 1168: 零起点学算法75——单数变复数

    1168: 零起点学算法75——单数变复数

    Time Limit: 1 Sec  Memory Limit: 64 MB   64bit IO Format: %lld
    Submitted: 443  Accepted: 345
    [Submit][Status][Web Board]

    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

    Source

     
     1 #include<stdio.h>
     2 #include<string.h>
     3 int main(){
     4     int n;
     5     char a[20];
     6     scanf("%d%*c",&n);
     7         while(n--){
     8             gets(a);
     9             int l;
    10             l=strlen(a);
    11             if(a[l-1]=='y'){
    12                 a[l]='e'; a[l+1]='s'; a[l+2]='';
    13             }
    14             else if(a[l-1]=='s'||a[l-1]=='x'||(a[l-1]=='h'&&a[l-2]=='s')||(a[l-1]=='h'&&a[l-2]=='s')){
    15                 a[l]='e'; a[l+1]='s'; a[l+2]='';
    16             }
    17             else if(a[l-1]=='o'){
    18                 a[l]='e'; a[l+1]='s'; a[l+2]='';
    19             }
    20             else{
    21                 a[l]='s'; a[l+1]='';
    22             }
    23             puts(a);
    24         }
    25     return 0;
    26 }

    //用strcat 会更简单。

  • 相关阅读:
    HDOJ 450题留念
    有关VIM的一些笔记
    hdu 2715
    POJ 1004
    链表的创建,添加结点,打印...
    C++ 静态数据成员小谈
    自定义String类
    sizeof/strlen小论
    多态之重载多态运算符重载那些事
    01背包问题
  • 原文地址:https://www.cnblogs.com/dddddd/p/6687119.html
Copyright © 2011-2022 走看看