поменять местами цифры - PullRequest
0 голосов
/ 31 октября 2019

Я пытаюсь поменять цифры номера. я использовал строки в нем. И я обязан использовать строки. программа просто выдаст последнюю цифру и прекратит выполнение. Например, если я поставлю 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();
 }

Ответы [ 3 ]

2 голосов
/ 31 октября 2019

Просто измените это 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;
}
1 голос
/ 31 октября 2019

Вы печатаете длину строки, а не саму строку.

0 голосов
/ 31 октября 2019

Вы печатаете длину строки .length () - встроенная функция, предоставляемая строками. Попробуйте запустить его снова, удалив ключевое слово .length () из команды cout, т.е. cout << str1 </p>

...