我正在尝试将我得到的余数反转,但是反转的LOOP效果不佳。
我试图改变循环。起初,我尝试使用while循环并嵌套for循环。它给出了结果,但没有反转我得到的结果,这意味着嵌套循环无法正常工作。
{
int n,i,rem;
string str="",str1="";
`{
cout<<"enter decimal Number:";
cin>>n;
while(n>0)`
{rem=n%2;
str=to_string(rem);
n=n/2;
str=str+str1;
for(i=str.length()-1;i>=0;i--)}
{
cout<<str[i];
}}
这是您的问题的解决方案
while(n>0)
{
rem=n%2;
str1=to_string(rem);
n=n/2;
str=str+str1; }
for(i=str.length()-1;i>=0;i--)
{
cout<<str[i];
}
实际上,当您在rem中使用2的mod,然后将其存储在str(string)中时,您在str中不添加任何内容(str = str + str1 ..您要在str中添加str),因为str1没有内容存储在其中。将余数存储在str1中,然后将其连接到str字符串中。然后在整体串联了字符串的情况下反转str字符串。问候扎因·艾哈迈德