输入年份,减去起始,即减4
除以60得到余数k
用k除以10,得到的余数为天干序数
用k除以12,得到的余数为地支序数
组合天干地支输出
觉得你不必那样算,简单些,赋值60个为好。这样要简单的多了。另外,公元数是十进制,天干也是十进制,完全可以不必单独计算。
公元年尾数:1,2,3,4,5,6,7,8,9,0
对应的天干是:辛壬癸甲乙丙丁戊己庚
例如,公元2000年,尾数是0,对应的天干是庚,这年是龙年,对应地支是辰,2000年立春以后是庚辰年。
给你一点建议:先理解什么是天干地支纪年法,再编程,要简单很多。自己再想想吧。
最后提点意见:你给的悬赏分太少了,才10分。
(1)将十大天干、十二地支编号。如下:甲 乙 丙 丁戊 己 庚 辛 壬癸
4 5 6 7 890 12 3
子 丑 寅卯辰巳 午未申 酉 戌 亥
4 56 7 8 91011 0 12 3
(2)计算时,年最后一位的数对应天干的编号、用年数除以12,得到的余数对应地支的编号,合起来就是该年的干支纪年法。
如2011年:最后一位是1,对应的天干的编号就是“辛”,再用2011除以12得到167余7,对应地支编号为“卯”合起来即2011年为“辛卯”年。
这算法挺简单的,闰年就更简单了,书上的实例抄过来就有