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
     
     
     
     
     
  • 相关阅读:
    快速排序
    冒泡排序
    mysql 拷贝表插入新的表
    http协议
    nginx错误日志error_log日志级别
    MySQL数据库远程访问的权限
    mysql create database 指定utf-8编码
    MYSQL日志
    linux常用命令
    java学习--基础知识进阶第六天--集合&迭代器、增强for & 泛型、常见数据结构、List子体系
  • 原文地址:https://www.cnblogs.com/yishilin/p/4448331.html
Copyright © 2011-2022 走看看