书中AC代码

#include <cstdio>
#include <cstring>
#include <iostream>
char num[10][10] = { //数字与单词的对应
"zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine"
};
char s[111]; //初始化字符串
int digit[10];

using namespace std;
int main() {
    #ifdef ONLINE_JUDGE
    #else
        freopen("1.txt", "r", stdin);
    #endif // ONLINE_JUDGE
    cin.getline(s, 111);
    int len = strlen(s);
    int sum = 0, numLen = 0; //sum为s的数位之和,numLen计量sum的长度
    for(int i = 0; i < len; i++) {
        sum += (s[i] - '0'); //累加s的数位,得到sum
    }
    if(sum == 0) { //如果sum为0,特判输出num[0]
        printf("%s", num[0]);
    } else { // 如果sum不为零
        while(sum != 0) { //将sum存到digit数组中
            digit[numLen++] = sum % 10;
            sum /= 10;
        }
        for(int i = numLen - 1; i >= 0; i--) { //从高位到低位输出digit数组
            printf("%s", num[digit[i]]);
            if(i != 0) printf(" "); //最后一个单词之后不输出空格
            }
    }
    return 0;
}

相关文章:

  • 2021-08-09
  • 2022-12-23
  • 2021-11-30
  • 2021-09-22
  • 2021-11-29
  • 2022-12-23
  • 2021-07-19
  • 2021-12-05
猜你喜欢
  • 2021-12-07
  • 2021-04-26
  • 2021-08-17
  • 2021-10-31
  • 2021-09-04
相关资源
相似解决方案