跪求生肖的计算方法(已知当前年份)(C语言中显示生肖时要用的公式)

如题所述

首先要确定当年是农历什么年。一般只看后面的那个字,因为生肖属相是据此来决定的,他是按|子鼠、丑牛、寅虎、卯兔、辰龙、巳舍、午马、未羊、申猴、酉鸡、戌狗、亥猪的顺序排列的。一轮是十二年。所以,当鼠年生的孩子,在代下一个鼠年时,刚好是十三岁。
计算的时候,首先根据属相算出这个属相离当年的生肖有多少年
举例来说,今年是丁亥年,是猪年。如果某人属鼠,鼠离亥是十二年。那这人的年龄只有几种可能:12岁;24岁;36岁;48岁;56岁;68岁;70岁;82岁;94岁等。
计算时,先要问清属相,还得问清是几轮否则,光靠一般的计算法是算不出来的。
如果不问别人的生肖轮,就只有按干支纪年的办法来计算,不过一般人只能记得他的生肖,记不住他出生的干支年,再说计算者也不一定能记得那么多的干支年,只好借助历史纪元表之类工具书了。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-01-11
今年是2011年(兔年),用2011减去需要查询的年份(假如是1186年,相减得825),用差值对12取模求余(825除以12余9),之后有两种方法:一,从兔年往前数9年就是马年;二,从兔年往后数(12-9=)3年也是马年。思路已经有了,其他就是你用c语言定义变量和常量了,之后用case语句将相应的生肖显示出来就可以了,这个题写的话不难,难在你是否知道怎么计算年限这一块了,希望看完以后你能明白
第2个回答  2011-01-09
我只给你方法,具体的自己去写。
你可以从2010年虎年开始,也可以倒退回去从鼠年开始。然后读取当前年份,去减2010,然后对12取模,最后用case语句来显示当前生肖。
明白吧?