取反数字

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

我正在尝试反转数字。我在其中使用了字符串。而且我一定会使用字符串。程序仅给出最后一位数字并停止执行。例如,如果我把123作为输入,而我只得到3。相反,我应该有321。

#include <iostream>
#include <string>
using namespace std;
int main()
{
    int a,b=0;
    cin>>a;
    string str1="", str="";
 for(int i=0;a>0;i++)
 {

     b=a%10;
     str=to_string(b);
     a=a/10;
     str1=str1+str;

 }
 cout<<str1.length();
 }
c++ reverse
3个回答
1
投票

您正在打印字符串长度,而不是字符串本身。


0
投票

简单地将此cout<<str1.length();更改为cout<<str1;。但是,最好使用while循环而不是怪异的for循环。

int main()
{
    int a,b=0;
    cin>>a;
    string str1="", str="";
    cout << a << "\n";
    while (a>0)
    {
        b=a%10;
        str=to_string(b);
        a=a/10;
        str1=str1+str;
    }
 cout<<str1;
}

0
投票

您正在打印字符串的长度。length()是字符串提供的内置函数。尝试通过从cout命令(即cout << str1

中删除.length()关键字来再次运行它)
© www.soinside.com 2019 - 2024. All rights reserved.