Advanced Leve 1005 Spell It Right(20ポイント)

テーマ

負でない整数Nが与えられた場合、タスクはNのすべての桁の合計を計算し、合計のすべての桁を英語で出力することです。

入力仕様:

各入力ファイルには、1つのテストケースが含まれています。各ケースは、N(≤10100)N(≤10^ {100})を含む1行を占めますN 1 01 0 0

出力仕様:

テストケースごとに、合計の桁を英語の単語で1行に出力します。2つの連続する単語の間に1つのスペースが必要ですが、行末に余分なスペースがあってはなりません。

サンプル入力:

12345

サンプル出力:

one five

思考分析:

文字列でto_string関数を使用して、合計された数値を文字列型に変換します

コード:

#include <bits/stdc++.h>
using namespace std;
string s, num[] = {
    
    "zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine"};
int main(){
    
    
    getline(cin, s);
    int total = 0;
    for(auto c : s) total += c - 48;
    string res = to_string(total);
    for(int i = 0; i < res.length(); i++) printf("%s%s", i ? " " : "", num[res[i] - 48].c_str());
    return 0;
}

PAT_Advanced_Level

おすすめ

転載: blog.csdn.net/zy440458/article/details/113813269