给你一个年份,用干支纪年表示。
干支纪年需要注意的有以下几点:
1、公元后第一个甲子年是公元4年。
2、干支纪年以60年为一循环。
3、公元纪年的起点是从公元1年开始,也就是说,没有公元0年。
4、对于公元前的年份可以转化成公元后的年份,由于没有公元0年,所以要先给公元前年份加1,然后加60的整数倍变成公元后的年份。
#include <stdio.h> int main() { int z,n; char gan[11][20]={"Gui","Jia","Yi","Bing","Ding","Wu","Ji","Geng","Xin","Ren"}; char zhi[13][20]={"hai","zi","chou","yin","mao","chen","si","wu","wei","shen","you","xu"}; scanf("%d",&z); while(z--) { scanf("%d",&n); if(n < 0) n++; while(n < 3) n += 60; int a = (n-3)%10; int b = (n-3)%12; printf("%s%s\n",gan[a],zhi[b]); } return 0; }