蓝桥杯C语言基础练习 报时助手

题目描述
给定当前的时间,请用英文的读法将它读出来。 时间用时h和分m表示,在英文的读法中,读一个时间的方法是: 如果m为0,则将时读出来,然后加上“o'clock”,如3:00读作“three  o'clock”。 如果m不为0,则将时读出来,然后将分读出来,如5:30读作“five  thirty”。 时和分的读法使用的是英文数字的读法,其中0~20读作: 0:zero,  1:  one,  2:two,  3:three,  4:four,  5:five,  6:six,  7:seven,  8:eight,  9:nine,  10:ten,  11:eleven,  12:twelve,  13:thirteen,  14:fourteen,  15:fifteen,  16:sixteen,  17:seventeen,  18:eighteen,  19:nineteen,  20:twenty。 30读作thirty,40读作forty,50读作fifty。 对于大于20小于60的数字,首先读整十的数,然后再加上个位数。如31首先读30再加1的读法,读作“thirty  one”。 按上面的规则21:54读作“twenty  one  fifty  four”,9:07读作“nine  seven”,0:15读作“zero  fifteen”。 
输入
输入包含两个非负整数h和m,表示时间的时和分。非零的数字前没有前导0。h小于24,m小于60。 
输出
输出时间时刻的英文。 
样例输入
0 15 
样例输出
zero fifteen
代码
#include<stdio.h>
char num[21][10]={"zero","one","two","three","four",
                  "five","six","seven","eight",
                  "nine","ten","eleven","twelve",
                  "thirteen","fourteen","fifteen","sixteen",
                  "seventeen","eighteen","nineteen","twenty"};
char numty[4][10]={"twenty","thirty","forty","fifty"};
void printString(int h)
{
     if(h<=20)
     {
         printf("%s",num[h]);
     }else{
             printf("%s %s",numty[h/10-2],num[h%10]);
     }
}

int main()
{
     int h,m;
     scanf("%d%d",&h,&m);
     printString(h);
     if(m==0)
     {
         if(h<=20)
         {
             printf(" o'clock\n");
         }
     }else{
         printf(" ");
         printString(m); 
         printf("\n");
     }
     return 0;  
}


  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值