1044 火星数字 (20 分)

#include 
#include 
using namespace std;
string a[13] = {"tret", "jan", "feb", "mar", "apr", "may", "jun", "jly", "aug",
"sep", "oct", "nov", "dec"};
string b[13] = {"####", "tam", "hel", "maa", "huh", "tou", "kes", "hei", "elo",
"syy", "lok", "mer", "jou"};
string s;
int len;
void func1(int t){
    if (t/13) cout << b[t/13];
    if ((t/13) && (t%13)) cout << " ";
    if (t%13 || t==0) cout << a[t%13];
}
void func2(){
    int t1 = 0, t2 = 0;
    string s1 = s.substr(0,3),s2;//s.substr(pos,n)函数返回一个string,s中从pos开始n个字符  
    if (len>4) s2 = s.substr(4,3);
    for (int j = 1; j<=12;j++) {
        if (s1==a[j] || s2== a[j]) t2=j;
        if (s1==b[j]) t1 = j; 
    }
    cout << t1*13+t2;
}
int main(){
    int n;
    cin >> n;
    getchar();
    for (int i=0;i='0' && s[0]<='9')
            func1(stoi(s));
        else func2();
        cout << endl; 
        }
}

你可能感兴趣的:(1044 火星数字 (20 分))