zoukankan      html  css  js  c++  java
  • PAT 甲级测试题目 -- 1005 Spell It Right

    题目链接

    题目描述:

      给定一个非零的整数 N,加个它的每一位N (N ≤ 10100​​),用英文单词读出加和的结果。

    测试用例

    输入:
    12345
    输出:
    one five

    分析

      题目很简单,由于 N ≤ 10100 所以用字符串接收输入,加和字符串中的每一位,然后用英文单词输出。坑点在 0 上,其他都没什么难的地方

    实现

    #include<iostream>
    #include<string>
    using namespace std;
    
    int StrToNum(string NumText) {
    	int add = 0;
    	for (int i = 0; i < NumText.length(); i++) 
    		add += (int)(NumText[i] - '0');
    	return add;
    }
    void OutputWordByNum(int number) {
    	string EgWords[10] = {"zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine" };
    	string temp = "";
    	string now = "";
    	int flag = 0;
    	if (number == 0)
    		cout << EgWords[number];
    	else {
    		while (number) {
    			flag++;
    			temp = EgWords[number % 10];
    			if (flag == 1)
    				now = temp + now;
    			else
    				now = temp + " " + now;
    			number = number / 10;
    		}
    		cout << now;
    	}
    }
    int main() {
    	string enter;
    	string result[10];
    	cin >> enter;	
    	OutputWordByNum(StrToNum(enter));	
    	return 0;
    }
    

    希望能帮助到你!

  • 相关阅读:
    进程管理 2
    进程管理 1
    Linux进程
    分配swap分区
    磁盘分区与挂载
    文件系统常用命令
    多线程
    系统hosts文件的作用
    sql 连接查询的区别 inner,left,right,full
    sql 游标
  • 原文地址:https://www.cnblogs.com/Breathmint/p/10272843.html
Copyright © 2011-2022 走看看