zoukankan      html  css  js  c++  java
  • PAT A1005 Spell It Right (20)

    书中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;
    }
    
  • 相关阅读:
    fork子进程
    多输入使用多线程
    多输入select
    多输入之轮询
    开启telnet
    slickedit编译调试linux应用程序
    电子书框架
    通用Makefile
    STDIN_FILENO和stdin
    libiconv交叉编译提示arm-none-linux-gnueabi-gcc
  • 原文地址:https://www.cnblogs.com/isChenJY/p/11370684.html
Copyright © 2011-2022 走看看