星空's Blog
星空's Blog
PAT-A1005 Spell It Right

原题

1005 Spell It Right (20 分)

题解

N<=10的100次方也就是说最多只要求100个数字的和,结果不会超过1000,用map存储数字和对应的英文,求和后转为string依次输出即可

代码

#include <iostream>
#include <map>
#include <string>
#include <cstdio>
using namespace std;

int main(void) {
    map<char,string> mp;
    mp['0'] = "zero";
    mp['1'] = "one";
    mp['2'] = "two";
    mp['3'] = "three";
    mp['4'] = "four";
    mp['5'] = "five";
    mp['6'] = "six";
    mp['7'] = "seven";
    mp['8'] = "eight";
    mp['9'] = "nine";

    int sum = 0;
    int ch = 0;
    while ((ch = getchar()) != 'n') {
        sum += ch - '0'; //字符转数值
    }
    string result = to_string(sum);
    for (int i = 0;i < result.length();i++) {
        if (i != result.length() - 1) {
            cout << mp[result[i]] << " ";
        } else {
            cout << mp[result[i]];
        }
    }
    return 0;
}
所有文章禁止转载。
代码仅供参考
为了对抗广告机器人,首次留言将会被审核
首页      算法学习      PAT-A      PAT-A1005 Spell It Right
https://secure.gravatar.com/avatar/271861a23dcdde929d3ee8cb8c04f854?s=256&d=monsterid&r=g

星空

文章作者

发表评论

textsms
account_circle
email

星空's Blog

PAT-A1005 Spell It Right
原题 1005 Spell It Right (20 分) 题解 N<=10的100次方也就是说最多只要求100个数字的和,结果不会超过1000,用map存储数字和对应的英文,求和后转为string依次输出即可 代码 #includ…
扫描二维码继续阅读
2019-08-14
分类
标签云