70分,改了1个小时了
查看原帖
70分,改了1个小时了
540832
one_OIER楼主2022/7/30 20:12
#include <bits/stdc++.h>
using namespace std;
#define int long long
int n;
string number[31] = {"and","one","two","three","four","five","six","seven","eight",
"nine","ten","eleven","twelve","thirteen","fourteen","fifteen","sixteen","seventeen",
"eighteen","ninteen","twenty","thirty","forty","fifty","sixty","seventy","eighty",
"ninty","hundred","thousand"};
signed main() {
    cin >> n;
    while(n > 0) {
        if(n >= 1000) {
            cout << number[n / 1000] << " " << number[29] << " ";
            n %= 1000;
            if(n < 100 and n > 0) cout << number[0] << " ";
        }
        else if(n >= 100) {
            cout << number[n / 100] << " " << number[28] << " ";
            n %= 100;
            if(n < 10 and n > 0) cout << number[0] << " ";
        }else if(n / 10 == 1) {
            cout << number[n] << " ";
            n %= 10;
            if(n > 0) cout << number[n] << endl;
            return 0;
        }else if(n / 10 > 1) {
            int sum = n / 10;
            if(sum == 2) cout << number[20] << " ";
            if(sum == 3) cout << number[21] << " ";
            if(sum == 4) cout << number[22] << " ";
            if(sum == 5) cout << number[23] << " ";
            if(sum == 6) cout << number[24] << " ";
            if(sum == 7) cout << number[25] << " ";
            if(sum == 8) cout << number[26] << " ";
            if(sum == 9) cout << number[27] << " ";
            if(n / 10 == 0 and n > 0) {
                cout << number[0] << " " << number[n] << endl;
                return 0;
            }else if(n < 10) {
                cout << number[n] << endl;
                return 0;
            }
            n %= 10;
            if(n > 0) cout << number[n] << endl;
            return 0;
        }else if(n < 10) {
            cout << number[n] << endl;
            return 0;
        }
    }
    return 0;
}
2022/7/30 20:12
加载中...