zoukankan      html  css  js  c++  java
  • HDU 1727 Hastiness

     1 #include<stdio.h>
     2 #include<math.h>
     3 #include<string.h>
     4 #include<stdlib.h>
     5 #include<ctype.h>
     6 #define max(a, b)(a < b ? a : b)
     7 #define N 10010
     8 
     9 char s[10][10] = {"one", "two", "three", "four", "five", "six", "seven","eight", "nine", "ten"};
    10 char s1[10][10] = {"ten", "twenty", "thirty", "forty", "fifty", "sixty", "seventy", "eighty", "ninety"};
    11 char s2[10][10] = {"eleven", "twelve", "thirteen", "fourteen", "fifteen", "sixteen", "seventeen", "eighteen", "nineteen"};
    12 
    13 int main()
    14 {
    15     int n;
    16     int a[N], j, i, f, g;
    17     while(scanf("%d", &n) != EOF)
    18     {
    19         j = 0, f = 0, g = 0;
    20         memset(a, 0, sizeof(a));
    21         if(n == 0)
    22             printf("zero");
    23         else
    24         {
    25             while(n)
    26             {
    27                 a[j++] = n % 10;
    28                 n /= 10;
    29             }
    30         }
    31         if(j == 1)
    32             printf("%s", s[a[0] - 1]);
    33         else
    34         {
    35             for(i = j - 1 ; i >= 0 ; i--)
    36             {
    37                 if(i == 3)
    38                     printf("%s thousand", s[a[i] - 1]), f = 1;
    39                 else if(i == 2)
    40                 {
    41                     if(a[i] != 0)
    42                     {
    43                         if(f == 1)
    44                             printf(" and ");
    45                         printf("%s hundred", s[a[i] - 1]);
    46                     }
    47                     if(a[i - 1] != 0 || a[i - 2] != 0)
    48                         g = 1;
    49 
    50                 }
    51                 else if(i == 1)
    52                 {
    53                     if(g == 1)
    54                         printf(" and ");
    55                     if(a[i] == 1 && a[i - 1] != 0)
    56                         printf("%s", s2[a[i - 1] - 1]);
    57                     else
    58                     {
    59                         if(a[i] == 0)
    60                             printf("%s", s[a[i - 1] - 1]);
    61                         else
    62                         {
    63                             if(a[i - 1] == 0)
    64                                 printf("%s", s1[a[i] - 1]);
    65                             else
    66                             {
    67                                 printf("%s-%s", s1[a[i] - 1], s[a[i - 1] - 1]);
    68                             }
    69                         }
    70                     }
    71                 }
    72             }
    73         }
    74         printf("
    ");
    75     }
    76     return 0;
    77 }

    Problem Description

    How many problems did you AC?
    When you read this problem, don’t hasty and careless, this is also simple, haha, I didn’t cheat you.
    The game over soon, WisKey starts using English begin countdown. He not only have no gene in math, but also bad in English. Fortunately, He met you who have gift in programming. So please help him to translate. 

    Input

    Give you an integer T, output T in English, and note that all of words are lower case. (0<=T<=9999)

    Output

    One answer One line.
    Details see sample.

    Sample Input

    2034
    1234
    123
    24
    0
    

    Sample Output

    two thousand and thirty-four
    one thousand and two hundred and thirty-four
    one hundred and twenty-three
    twenty-four
    zero
    

    Author

    威士忌

    Source

    HZIEE 2007 Programming Contest
     
     
     
     
     
  • 相关阅读:
    vue token使用 参考
    token 的作用与使用
    jq 绑定实时监听 input输入框
    认识java
    java基础语法
    java虚拟机笔记 运行时内存区域划分
    spring全家桶
    利用python脚本统计和删除redis key
    MySQL中count(字段) ,count(主键 id) ,count(1)和count(*)的区别
    编写shell脚本的一些规范
  • 原文地址:https://www.cnblogs.com/yishilin/p/4448331.html
Copyright © 2011-2022 走看看