中国农历采取天干地支作为计算年,月,日,时的方法,就是把每一个天干和地支按照一定的顺序而不重复地搭配起来,用来作为纪年,纪月,纪日,纪时的代号。把“天干”中的一个字摆在前面,后面配上“地支”中的一个字,这样就构成一对干支。如果“天干”以“甲”字开始,“地支”以“子”字开始顺序组合,就可以得到:

1.甲子 2.乙丑 3.丙寅 4.丁卯 5. 戊辰 6.已巳 7.庚午 8.辛未 9.壬申 10.癸酉11. 甲戌 12.乙亥 13.丙子 14.丁丑 15.戊寅 16.已卯 17.庚辰 18.辛巳 19.壬午 20.癸未21.甲申 22.乙酉 23.丙戌 24.丁亥 25.戊子 26.已丑 27.庚寅 28.辛卯 29.壬辰 30.癸巳31.甲午 32.乙未 33.丙申 34.丁酉 35.戊戌 36.已亥 37.庚子 38.辛丑 39.壬寅 40.癸卯41.甲辰 42.乙巳 43.丙午 44.丁未 45.戊申 46.已酉 47.庚戌 48.辛亥 49.壬子 50.癸丑51.甲寅 52.乙卯 53.丙辰 54.丁巳 55.戊午 56.已未 57.庚申 58.辛酉 59.壬戌 60.癸亥

这六十对干支,天干经六个循环,地支经五个循环正好是六十,就叫做“六十干支”。按照这样的顺序每年用一对干支表示,六十年一循环,叫做“六十花甲子”。如2013年是癸巳年,1990是庚午年;从1984年的甲子年,到2044年又是甲子年。这种纪年方法就叫做“干支纪年法”,一直沿用到今天。历史上的辛亥革命、戊戌变法等说法均源于此。

假设我们用0-9依次代替10个天干,A-L依次代替12个地支,现在请你写一段程序,根据给定的年份算出其干支纪年法所对应的年份。

输入格式:

第1 行是测试数据的组数T(0<T<100)。后面跟着T 行测试用例,每行一个正整数n(1000<n<3000),代表公元纪年法的年份。

输出格式:

T行,每行对应一个测试用例,为该年份所对应的干支纪年法的年份(相应的字符表示)。

输入样例:

3
1984
1990
2044

输出样例:

0A
6G
0A

代码实现:

#include <stdio.h>
#include <stdlib.h>/* run this program using the console pauser or add your own getch, system("pause") or input loop */
void judge(int n);
int main(int argc, char *argv[])
{int t,i,cal;scanf("%d",&t);int list[t];for(i=0;i<t;i++)scanf("%d",&list[i]);for(i=0;i<t;i++){if(list[i]>2044){cal=(list[i]-2044)%60;judge(cal);}else if(list[i]<2044){cal=60-(2044-list[i])%60;judge(cal);}elseprintf("0A\n");}return 0;
}void judge(int n)
{int num,n10=n/10,n1=n%10;char let;char str[12]={'A','B','C','D','E','F','G','H','I','J','K','L'};let=str[n%12];printf("%d%c\n",n1,let);
}

7-3 干支纪年法 (100 分)相关推荐

  1. 干支纪年法简便算法_初中历史四种纪年法,每一种都要掌握

    中国历史上的四种纪年法 一.公元纪年法 公元纪年,也称公历纪年,或基督纪年.它以相传的耶稣基督诞生年即公元元年作为历史算起,在中国这一年正好是西汉平帝元始元年.以这一年为界,在此以前的时间称公元前多少 ...

  2. 干支纪年法简便算法_初中历史所涉及的四种纪年法

    一.公元纪年法 公元纪年,也称公历纪年,或基督纪年.它以相传的耶稣基督诞生年即公元元年作为历史算起,在中国这一年正好是西汉平帝元始元年.以这一年为界,在此以前的时间称公元前多少年,在此以后的时间和公元 ...

  3. 干支纪年法简便算法_初中阶段常用的四种历史纪年法

    一.公元纪年法 公元纪年,也称公历纪年,或基督纪年.它以相传的耶稣基督诞生年即公元元年作为历史算起,在中国这一年正好是西汉平帝元始元年.以这一年为界,在此以前的时间称公元前多少年,在此以后的时间和公元 ...

  4. 干支纪年法简便算法_民间玄学:那些年我理解的何谓“天干”,“地支”,“干支”...

    文/天泽子 在我很小的时候,大概6岁左右,父亲带着我跟这一方面的知识开始接触,那个时候的我不明白天干,地支是什么? 父亲的小学文化程度,只对我说"天干分别为:甲(jiǎ).乙(yǐ).丙(b ...

  5. 干支纪年法简便算法_天干地支的简单算法

    大家在看古代字画的时候一定会发现 己亥 壬寅等干支纪年法,比如"岁在癸丑" 虽然现在的我们很少用干支纪年法了,但在历史考试题以及公务员考试题中难免会有计算天干地支的题目,就算不为了 ...

  6. 万年历-农历-干支纪年法

    干支纪年法的简便算法 传统的计算法,必须知道一个已知年,然后往前后推算,有一定的难度,下面我给大家介绍一种干支纪年法的简便算法,每个字都有对应的一个符号.如下表: 4 5 6 7 8 9 0 1 2 ...

  7. 风火编程--干支纪年法的完整转换(可用于八字推算)

    严谨的干支纪年法转换 干支纪年法的年,月分界点与公历不同, 因此单纯的使用公历日期转换,得到的结果必然有一部分是错误的. 目前通用的解决方案是使用数据库存储几百年的数据,然后通过查库实现. 本程序已经 ...

  8. 天干地支 java_Java实现干支纪年法

    public class 干支纪年法 { // 甲.乙.丙.丁.戊.己.庚.辛.壬.癸 //public static final int[] skyBranch = new int[] { 0, 1 ...

  9. [java]干支纪年法(循环练习)

    干支纪年法属于上古以来中国纪年历法,其由十天干十二地支按照一定顺序结合来表示年份. 十天干分别为: 甲.乙.丙.丁.戊.己.庚.辛.壬.癸 十二地支分别为: 子.丑.寅.卯.辰.巳.午.未.申.酉.戌 ...

最新文章

  1. Python网络编程—(TCP、UDP区别)
  2. 学习VIM编辑器的使用
  3. ARM中Bus Error的测试
  4. c语言 1或0 结果,C语言中,在表示逻辑运算结果时,以数值1代表“真”,以0代表“假”。()...
  5. vue 单选框样式_作为一位Vue工程师,这些开发技巧你都会吗?
  6. 如果不是心中还有梦,又能忍住多少痛?
  7. Flutter实战之AS快键键
  8. Angr安装与使用之使用篇(四)
  9. 哪些软件翻译英文文献比较准确呢?
  10. Ribbon原理及使用详解
  11. 域名解析、域名转向的作用
  12. Activities介绍
  13. Isabelle定理证明器
  14. 可以打开c语言的软件图标是个虫子,VC雕虫小技集(四) (转)
  15. 洛必达法则的使用条件
  16. 必须注销计算机才能应用这些更改,Win10不用注销电脑就可以实现切换开始菜单/屏幕的方法...
  17. 一个运维工程师必须要知道的(工作职责与应用场景)干货整理
  18. C/C++黑魔法-不会出错的http
  19. oracle有索引的集合,oracle中记录和集合
  20. i5 10400f和i7 7700哪个性价比高

热门文章

  1. 错误 java.util.MissingResourceException:
  2. 【Python】使用pdfkit报错:OSError: wkhtmltopdf exited with non-zero code 1. error:
  3. 做了两年P7面试官,谈谈我认为的阿里人才画像,你配吗?
  4. 从云服务器硬盘更换认识备份、快照、镜像
  5. 阿里巴巴一面问题搜集
  6. 如何做好微信朋友圈推广?
  7. IDX20803: Unable to obtain configuration from: ‘[PII is hidden
  8. h5 视频活体检测(人脸认证)的前端
  9. 深入理解操作系统原理之设备管理
  10. Arthas Spring Boot Starter工程启动报错