蓝桥杯:报时问题(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>
#include <stdlib.h>/* run this program using the console pauser or add your own getch, system("pause") or input loop */int main(int argc, char *argv[])
{int h,n,m;scanf("%d%d",&h,&m);if(m==0)//当输入分钟为零时 { //需要判断输入的小时是否大于二十 if(h<=20) printf("%s o'clock'",print(h));else//输出需要组合十位和个位 {n==h%10;printf("%s %s o'clock",print(h-n),print(n));} }else//当输入分钟不为零时 {if(h<=20){ // printf("%s ",print(h));if(m>20&&m%10!=0)//判断分钟数是否大于二十且不是10的倍数,输出结构需要组合十位和个位 {n=m%10;printf("%s %s ",print(m-n),print(n));}else//直接输出 printf("%s ",print(m));}else{n=h%10;printf("%s %s ",print(h-n),print(n));if(m>20&&m%10!=0){n=m%10;printf("%s %s ",print(m-n),print(n));}elseprintf("%s ",print(m));}}return 0;
}
int print(int n)//选择输出内容函数
{//大于20且不是10的倍数的数可有下面的数组合switch(n){case 0:return "zero";break;case 1:return "one";break;case 2:return "two";break;case 3:return "three";break;case 4:return "four";break;case 5:return "five";break;case 6:return "six";break;case 7:return "seven";break;case 8:return "eight";break;case 9:return "nine";break;case 10:return "ten";break;case 11:return "eleven";break;case 12:return "twelve";break;case 13:return "thirteen";break;case 14:return "fourteen";break;case 15:return "fifteen";break;case 16:return "sixteen";break;case 17:return "seventeen";break;case 18:return "eighteen";break;case 19:return "nineteen";break;case 20:return "twenty";break;case 30:return "thirty";break;case 40:return "forty";break;case 50:return "fifty";break;}
}
运行结果
蓝桥杯:报时问题(c语言)相关推荐
- 蓝桥杯2016年C语言B组-交换瓶子
蓝桥杯2016年C语言B组 交换瓶子 代码 交换瓶子 有N个瓶子,编号 1 ~ N,放在架子上. 比如有5个瓶子: 2 1 3 5 4 要求每次拿起2个瓶子,交换它们的位置. 经过若干次后,使得瓶子的 ...
- 蓝桥杯第十届c语言试题答案,蓝桥杯试题答案(C语言)蓝桥杯试题答案(C语言).pdf...
蓝桥杯试题答案(C语言)蓝桥杯试题答案(C语言) 1.亲密数:假设有a.b两个数,若a的所有因子之和等于b,b的所有因子之和等于a,并 且a不等于b,则称a和b是一对亲密数.如284和220就是一对亲 ...
- 蓝桥杯c语言校内选拔赛试题,2013年蓝桥杯校内选拔赛C语言B组.docx
2013年蓝桥杯校内选拔赛C语言B组.docx 下载提示(请认真阅读)1.请仔细阅读文档,确保文档完整性,对于不预览.不比对内容而直接下载带来的问题本站不予受理. 2.下载的文档,不会出现我们的网址水 ...
- 2015年第七届蓝桥杯省赛C语言B组
2015年第七届蓝桥杯省赛C语言B组 题目来源:蓝桥杯 作者:GGG166 第一题: 题目:奖券数目 有些人很迷信数字,比如带"4"的数字,认为和"死"谐音,就 ...
- 蓝桥杯软件类Java语言IDE(Eclipse)安装
蓝桥杯软件类Java语言IDE(Eclipse)安装以及个性化设置 平时都在用idea搞工程类项目,正好报了下学期的蓝桥杯算法比赛,看到官网要求用eclipse编码,之前也参加过ccf-csp的比赛, ...
- 蓝桥杯-最大最小公倍数java语言
蓝桥杯-最大最小公倍数java语言 开局一句话: 做这道题的时候,便没有对最小公倍数十分了解,就直接写了,也是惭愧,走了太多弯路,后来才知道,最小公倍数不是单单的几个数相乘就完了. 问题描述: 已知一 ...
- 2012年第三届蓝桥杯省赛C语言B组
2012年第三届蓝桥杯省赛C语言B组 题目来源:蓝桥杯 作者:GGG166 第一题 题目:微生物增殖 假设有两种微生物 X 和 Y X出生后每隔3分钟分裂一次(数目加倍),Y出生后每隔2分钟分裂一次( ...
- 蓝桥杯7届c语言 c组答案,第七届蓝桥杯C语言C组-(自己懂的题目)
第七届蓝桥杯C语言C组-(自己懂的题目) 表示刚刚查了成绩,省赛一等奖,有资格去北京了,然后写一下总结, 先来写一下我懂的题目,毕竟我也是菜鸟,听说国赛比预赛难几个等级... 第一题 报纸页数 X星球 ...
- 第九届蓝桥杯 省赛 C语言A组
第一次参加这种比赛,心里有点小忐忑,虽然已是大三狗,但是还是啥都不会.算是一次锻炼吧.. 下面答案都是自己做的,有什么不对的地方还恳请指出. ...
- 蓝桥杯java和c语言区别_C语言蓝桥杯比赛原题和解析
蓝桥杯:在计算机编程领域,是具有一定含金量的竞赛,用于选拔信息技术人才. 一般分为多个领域,其中包含了C/C#/C++/Java/Python等编程语言的测试题,多为算法的设计题. 下面,在搜题过程中 ...
最新文章
- 八成名校AI教授,都拿过谷歌微软亚马逊们的钱
- 三步更改win7开机密码
- springboot链接MySQL线程池_SpringBoot中的数据库连接池
- linux可用机场客户端,Linux系统可用的6款Bittorrent客户端
- Nvidia GPU驱动与CUDA、Ubuntu内核兼容性问题的解决日志
- Nginx反向代理实现负载均衡web集群
- css flexbox水平垂直
- 数字电路的基础知识(结合Verilog)
- OpenLayers自定义圆锥投影中国地图
- 计算机网络6版,计算机网络教程(第6版)
- win10关闭电池保护模式_怎么设置win10电池95%不充电
- ex10_11修改Loan类
- JRE瘦身 制作小工具
- 提升领导力这7个法则,你不得不知道
- 什么是ISO 21434?给汽车软件开发人员的合规贴士
- 抢红包算法 c++_字节跳动|垂直策略|算法岗招聘
- linux双网卡双路由配置,linux配置双网卡双路由
- session是什么 PHP使用session
- linux如何切换任务,linux 0.11中简单的任务切换中遇到的问题
- 计算机操作系统的阶段分为几个阶段,浅谈操作系统的发展历程