问题标题: 简易干支纪年法计算器 1.0

1
2
已解决
张弘瑞
张弘瑞
修练者
修练者

代码如下:

【注】:z(年份)>0

#include<bits/stdc++.h>
using namespace std;
///1甲  2乙  3丙  4丁  5戊  6己  7庚  8辛  9壬  10癸 (10天干)
///1子  2丑  3寅  4卯  5辰  6巳  7午  8未  9申  10酉  11戌  12亥 (12地支)
///         【注】: z>0, 是 int 类型 (long long 也可以)
int main(){
    int z; /// z:年份
    cin>>z;
    if(z<=0){
        cout<<"Warning! Cannot be 0 or negative! (z>0)  ";
    }else{
        if((z-3)%10==1){
            cout<<"甲";
        }else if((z-3)%10==2){
            cout<<"乙";
        }else if((z-3)%10==3){
            cout<<"丙";
        }else if((z-3)%10==4){
            cout<<"丁";
        }else if((z-3)%10==5){
            cout<<"戊";
        }else if((z-3)%10==6){
            cout<<"己";
        }else if((z-3)%10==7){
            cout<<"庚";
        }else if((z-3)%10==8){
            cout<<"辛";
        }else if((z-3)%10==9){
            cout<<"壬";
        }else if((z-3)%10==0){
            cout<<"癸";
        }
        if((z-3)%12==1){
            cout<<"子";
        }else if((z-3)%12==2){
            cout<<"丑";
        }else if((z-3)%12==3){
            cout<<"寅";
        }else if((z-3)%12==4){
            cout<<"卯";
        }else if((z-3)%12==5){
            cout<<"辰";
        }else if((z-3)%12==6){
            cout<<"巳";
        }else if((z-3)%12==7){
            cout<<"午";
        }else if((z-3)%12==8){
            cout<<"未";
        }else if((z-3)%12==9){
            cout<<"申";
        }else if((z-3)%12==10){
            cout<<"酉";
        }else if((z-3)%12==11){
            cout<<"戌";
        }else if((z-3)%12==0){
            cout<<"亥";
        }
        if(z==1){
            cout<<"辛酉";
        }else if(z==2){
            cout<<"壬戌";
        }
    }
    return 0;
}

 


0
已采纳
潘锦浩
潘锦浩
中级守护
中级守护

还真挺准,不过能算公元前的就好了,还有出现0以下数字不能输的警告,你能不能换成中文,有人看不懂

我要回答