如何反转我的输入内容,包括否定内容>>

问题描述 投票:0回答:1

[这是我目前拥有的代码,但它始终输出0,我试图让它输出输入的反面,包括负数,例如-123425将为524321-:

#include<iostream>
using namespace std;

int main() {
    int number;
    bool negative;
    cout << "Enter an integer: ";
    cin >> number;
    while (number != 0) {
        number % 10;
        number /= 10;
    }
    if (number < 0) {
        negative = true;
        number = -number;
        cout << number << "-";
    }
    else {
        negative = false;
    }
    cout << number << endl;

    return EXIT_SUCCESS;
}
<< >

使用std::string并用std::reverse反转其内容会容易得多。
std::reverse

您想在更改数字之前检查负值,否则数字在退出while循环时将为0。
数字%10仅采用数字的模数,因此您要指出这一点,而不仅仅是将其留在此处。

您有#include <algorithm> // reverse #include <cstdlib> // EXIT_SUCCESS #include <iostream> // cin, cout, endl #include <string> // string using namespace std; int main() { cout << "Enter an integer: "; string number; cin >> number; reverse(number.begin(), number.end()); cout << number << endl; return EXIT_SUCCESS; } 的最后一行将指出0,因为数字必须为0才能退出while循环。

cout << number << endl;

c++ reverse
1个回答
1
投票

0
投票
数字%10仅采用数字的模数,因此您要指出这一点,而不仅仅是将其留在此处。

您有#include <algorithm> // reverse #include <cstdlib> // EXIT_SUCCESS #include <iostream> // cin, cout, endl #include <string> // string using namespace std; int main() { cout << "Enter an integer: "; string number; cin >> number; reverse(number.begin(), number.end()); cout << number << endl; return EXIT_SUCCESS; } 的最后一行将指出0,因为数字必须为0才能退出while循环。

© www.soinside.com 2019 - 2024. All rights reserved.