拆解判断:

  1. #include<stdio.h>
  2. void Ten(int num)//在十位上的数大于1时,找到对应的“整数”输出
  3. {
  4. switch (num)
  5. {
  6. case 2:printf("twenty "); break;
  7. case 3:printf("thirty "); break;
  8. case 4:printf("forty "); break;
  9. case 5:printf("fifty "); break;
  10. }
  11. }
  12. void TS(int num)//将当前“整个数”所对应的输出
  13. {
  14. switch (num)
  15. {
  16. case 10:printf("ten "); break;
  17. case 11:printf("eleven "); break;
  18. case 12:printf("twelve "); break;
  19. case 13:printf("thirteen "); break;
  20. case 14:printf("fourteen "); break;
  21. case 15:printf("fifteen "); break;
  22. case 16:printf("sixteen "); break;
  23. case 17:printf("seventeen "); break;
  24. case 18:printf("eighteen "); break;
  25. case 19:printf("nineteen "); break;
  26. }
  27. }
  28. void Single(int num)//判断个位数的值并对应输出
  29. {
  30. switch (num)
  31. {
  32. case 1:printf("one "); break;
  33. case 2:printf("two "); break;
  34. case 3:printf("three "); break;
  35. case 4:printf("four "); break;
  36. case 5:printf("five "); break;
  37. case 6:printf("six "); break;
  38. case 7:printf("seven "); break;
  39. case 8:printf("eight "); break;
  40. case 9:printf("nine "); break;
  41. }
  42. }
  43. void find(int h)
  44. {
  45. if(h/10==1)//判断当前数的十位是否为1,为1代表数在10-19的范围,整体一起输出
  46. TS(h);
  47. else if(h/10>1)//若当前十位大于1,则拆开输出
  48. {
  49. Ten(h/10);//先输出特定的十位表示
  50. Single(h%10);//在输出个位表示
  51. }
  52. else
  53. Single(h%10);//当前只有1位数,直接按个位输出
  54. }
  55. int main()
  56. {
  57. int h,m;//h代表时,m代表分
  58. scanf("%d%d",&h,&m);
  59. if(h==0)//判断当前时是否为0
  60. printf("zero ");
  61. else find(h);
  62. if(m==0)//判断当前分是否为0
  63. printf("o'clock");
  64. else
  65. find(m);
  66. return 0;
  67. }
点赞(0)
 

0 分

0 人评分

 

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 0 条评论

暂无评论