gpt4 book ai didi

在字符串中打印出 C++ 整数数字?

转载 作者:太空宇宙 更新时间:2023-11-04 13:06:28 25 4
gpt4 key购买 nike

所以我正在编写的代码(用于学校)假设采用用户给定的整数并将其打印为字符串(示例输入:154 | 输出:一五四)。

目前我几乎已经弄明白了,只是它是倒退的!需要弄清楚如何以正确的方式打印它(我的会打印出四五一)。

#include <iostream>
#include <string>

using namespace std;

void toString(int x) {
while (x > 0)
{
int digit = x % 10;
x /= 10;
switch (digit) {
case 1:
cout << "One ";
break;
case 2:
cout << "Two ";
break;
case 3:
cout << "Three ";
break;
case 4:
cout << "Four ";
break;
case 5:
cout << "Five ";
break;
case 6:
cout << "Six ";
break;
case 7:
cout << "Seven ";
break;
case 8:
cout << "Eight ";
break;
case 9:
cout << "Nine ";
break;
case 0:
cout << "Zero ";
break;
}
}
}

int main()
{
int num;

cout << "Please enter a positive number" << endl;
cin >> num;

while (num > 0)
{
toString(num);
cout << "\nPlease enter a positive number" << endl;
cin >> num;
}

cout << "You entered a number less than or equal to zero"
<< endl << "the program was terminated" << endl;

system("pause");
return 0;
}

最佳答案

基本上有三种方法可以解决您的问题:

  1. 不是打印单词,而是将它们放在一个字符串中,然后反转字符串中的单词。

  2. 在循环前反转数字。

  3. 从数字的另一端开始,计算位数(在 154 的示例中)从百位开始,然后是十位,最后是个位.

最简单的是第一种选择的变体,不是创建包含单词的字符串然后反转单词,而是将单词放入容器中(例如 std::vector),然后然后反转容器或从后到前迭代。

关于在字符串中打印出 C++ 整数数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42083701/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com