历史课上——
老师:1894,甲午年,中日发生甲午战争——
学生:家务是什么?
老师:甲午!天干地支纪年法。
学生:什么是田赶地址?
老师:……
10和12的最小公倍数是60,所以每60年轮一次。最早的甲子年是公元124年。所以我们需先减去124。
需要注意的是,一个汉字占2个字节,所以普通的char类型不能满足需要,所以我们要用string类型。
上 代 码 !——
一键三连谢谢!
#include<bits/stdc++.h>
using namespace std;
string a[10]={"甲","乙","丙","丁","戊","已","庚","辛","壬","癸"};
string b[12]={"子","丑","寅","卯","辰","巳","午","未","申","酉","戌","亥"};
int main(){
int n,n1,sum=0,ans=0;
cout<<"输入0结束"<<endl;
while(n){
cin>>n;
n1=n;
n1-=124; //细节,不然输入124时就会结束程序
ans=n1%10;
sum=n1%12;
cout<<"此年为 "<<a[ans]<<b[sum]<<" 年"<<endl;
}
return 0;
}
代码效果: