我正在尝试反转数字。我在其中使用了字符串。而且我一定会使用字符串。程序仅给出最后一位数字并停止执行。例如,如果我把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();
}
您正在打印字符串长度,而不是字符串本身。
简单地将此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;
}
您正在打印字符串的长度。length()是字符串提供的内置函数。尝试通过从cout命令(即cout << str1
中删除.length()关键字来再次运行它)