「PAT甲级真题解析」Advanced Level 1005 Spell It Right
admin
2024-01-17 22:29:22
0

PAT (Advanced Level) Practice 1005 Spell It Right

如果对你有帮助,要点个赞让我知道喔~

问题分析

题设明确要求我们将给定的一个非负数的各个数字相加求和, 然后输出这个和各个数字的英文形式, 妥妥的模拟题, 而且步骤已经非常明确。
需要考虑的是给定的非负数最大可以是10^100(101位, 1个一后面跟了100个零), 所以需要用字符串来存储整数.

完整描述步骤

  1. 获取输入: 给定的非负整数(字符串形式存储)
  2. 初始化求和计数器: sum = 0
  3. 访问字符串的每一位:
    • 计数器加上该位字符所代表的数字值
  4. 将和转为字符串形式
  5. 访问和字符串的每一位:
    • 输出该位字符所代表的数字的英文单词

伪代码描述

  1. get input: number (stored as string)
  2. init counter: sum = 0
  3. for digit in number:
    • sum += int(digit)
  4. sum_stirng = string(sum)
  5. create mapping_from_digit_to_english_word = {
    0: “zero”,
    1: “one”,

    “9”: “nine”,
    }
  6. print(mapping_from_digit_to_english_word[int(sum_stirng[0])])
  7. for index in range(1, len(sum_stirng)):
    • print(" " + mapping_from_digit_to_english_word[int(sum_stirng[index])]);

完整提交代码

/*
# 问题分析
题设明确要求我们将给定的一个非负数的各个数字相加求和, 然后输出这个和各个数字的英文形式, 妥妥的模拟题, 而且步骤已经非常明确。
需要考虑的是给定的非负数最大可以是10^100(101位, 1个一后面跟了100个零), 所以需要用字符串来存储整数.# 完整描述步骤
1. 获取输入: 给定的非负整数(字符串形式存储)
2. 初始化求和计数器: sum = 0
3. 访问字符串的每一位:- 计数器加上该位字符所代表的数字值
4. 将和转为字符串形式
5. 访问和字符串的每一位:- 输出该位字符所代表的数字的英文单词# 伪代码描述
1. get input: number (stored as string)
2. init counter: sum = 0
3. for digit in number:- sum += int(digit)
4. sum_stirng = string(sum)
5. create mapping_from_digit_to_english_word = {0: "zero",1: "one",..."9": "nine",}
6. print(mapping_from_digit_to_english_word[int(sum_stirng[0])])
6. for index in range(1, len(sum_stirng)):- print(" " + mapping_from_digit_to_english_word[int(sum_stirng[index])]);
*/# include
using namespace std;int main(){string words[] = {"zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine"}; string number;cin >> number;int length = number.length();int digit_sum = 0;for (int i = 0; i < length; i++)digit_sum += number[i] - '0';string sum = to_string(digit_sum);cout << words[sum[0] - '0'];for (int i = 1; i < sum.length(); i++){int index = sum[i] - '0';cout << " " << words[index];}return 0;
}

相关内容

热门资讯

热点推荐“牛至尊到底有没有透视... 您好,牛至尊这款游戏可以开挂的,确实是有挂的,需要了解加微{7198902}很多玩家在这款游戏中打牌...
热点推荐“昭通棋乐麻将到底有没... 您好,昭通棋乐麻将这款游戏可以开挂的,确实是有挂的,需要了解加微{7198902}很多玩家在这款游戏...
热点推荐“pokerworld... 热点推荐“pokerworld到底有没有透视挂吗”原来真的有挂1、让任何用户在无需AI插件第三方神器...
热点推荐“逍遥卡五星到底有没有... 您好:逍遥卡五星确实真的有挂,软件加微信【7198902】确实是有挂的,很多玩家在这款游戏中打牌都会...
热点推荐“讯奇麻将到底有没有透... 您好,讯奇麻将这款游戏可以开挂的,确实是有挂的,需要了解加微{7198902}很多玩家在这款游戏中打...
热点推荐“蜀南到底有没有透视挂... 亲,蜀南这款游戏可以开挂的,确实是有挂的,。但是开挂要下载第三方辅助软件,蜀南的开挂软件,名称叫蜀南...
热点推荐“全民比鸡到底有没有透... 热点推荐“全民比鸡到底有没有透视挂吗”原来真的有挂是一款可以让一直输的玩家,快速成为一个“必胜”的a...
热点推荐“四川家园到底有没有透... 热点推荐“四川家园到底有没有透视挂吗”原来真的有挂是一款可以让一直输的玩家,快速成为一个“必胜”的a...
热点推荐“哈灵麻将到底有没有透... 热点推荐“哈灵麻将到底有没有透视挂吗”原来真的有挂;原来确实真的有挂(需添加指定薇7198902获取...
热点推荐“快乐联盟到底有没有透... 快乐联盟这个游戏其实有挂的,确实是有挂的,需要了解加客服微信:【7198902】, 很多玩家在这款游...
热点推荐“开云棋牌到底有没有透... 亲,开云棋牌这款游戏可以开挂的,确实是有挂的,。但是开挂要下载第三方辅助软件,开云棋牌的开挂软件,名...
热点推荐“大赢家卡五星到底有没... 亲,大赢家卡五星这款游戏可以开挂的,确实是有挂的,。但是开挂要下载第三方辅助软件,大赢家卡五星的开挂...
热点推荐“开心联盟到底有没有透... 您好,开心联盟这款游戏可以开挂的,确实是有挂的,需要了解加微{7198902}很多玩家在这款游戏中打...
热点推荐“万载麻将到底有没有透... 热点推荐“万载麻将到底有没有透视挂吗”原来真的有挂;原来确实真的有挂(需添加指定薇7198902获取...
热点推荐“奇趣互娱到底有没有透... 您好,奇趣互娱这款游戏可以开挂的,确实是有挂的,需要了解加微{7198902}很多玩家在这款游戏中打...
热点推荐“韵味广东麻将到底有没... 韵味广东麻将这个游戏其实有挂的,确实是有挂的,需要了解加客服微信:【7198902】, 很多玩家在这...
热点推荐“欢乐广东麻将到底有没... 热点推荐“欢乐广东麻将到底有没有透视挂吗”原来真的有挂是一款可以让一直输的玩家,快速成为一个“必胜”...
热点推荐“牛小乐到底有没有透视... 您好:牛小乐确实真的有挂,软件加微信【7198902】确实是有挂的,很多玩家在这款游戏中打牌都会发现...
热点推荐“斗棋到底有没有透视挂... 热点推荐“斗棋到底有没有透视挂吗”原来真的有挂1、让任何用户在无需AI插件第三方神器的情况下就能够完...
热点推荐“头脑风暴到底有没有透... 您好:头脑风暴确实真的有挂,软件加微信【7198902】确实是有挂的,很多玩家在这款游戏中打牌都会发...