Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/144.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ mod函数查找余数的问题_C++ - Fatal编程技术网

C++ mod函数查找余数的问题

C++ mod函数查找余数的问题,c++,C++,我是一个初学者,我的代码有问题,我不太明白。我的开关菜单中的第一个选项不起作用,我尝试了许多调整,但都没有效果。我删除了if…else语句,修改了constant=0和not constant之间的“second”变量,还有一些其他内容 这段代码应该将整数中的数字反转。如果整数小于10,即2,则2变为20。我没有取得任何接近这一点的成就 cout << "Please enter a number between 0 and 99\n";

我是一个初学者,我的代码有问题,我不太明白。我的
开关
菜单中的第一个选项不起作用,我尝试了许多调整,但都没有效果。我删除了
if…else
语句,修改了
constant=0
和not constant之间的“second”变量,还有一些其他内容

这段代码应该将整数中的数字反转。如果整数小于10,即2,则2变为20。我没有取得任何接近这一点的成就

                cout << "Please enter a number between 0 and 99\n";
                cin >> num;
                if (num < 9)
                    num *= 10;
                else
                    num += 0;
                while (num !=0)
                {
                    remainder = num%10;
                    second = remainder*10 + remainder;
                    num /= 10;
                }
                cout << num << " reverses to make " << second << endl;
cout>num;
if(num<9)
num*=10;
其他的
num+=0;
while(num!=0)
{
余数=num%10;
第二个=余数*10+余数;
num/=10;
}

我想你可以替换这个:

if (num < 9)
                    num *= 10;
                else
                    num += 0;
                while (num !=0)
                {
                    remainder = num%10;
                    second = remainder*10 + remainder;
                    num /= 10;
                }
if(num<9)
num*=10;
其他的
num+=0;
while(num!=0)
{
余数=num%10;
第二个=余数*10+余数;
num/=10;
}
用这个

if (num <= 9)
                    second = 10*num;
                else
                    remainder = num%10;
                    second = remainder*10 + trunc(num/10);
               } 

if(num我可以从您的代码中看到一些问题,说明您正在努力实现的目标

即使您输入的数字小于10:

if (num < 9)
   num *= 10;
例如,假设您输入了2,在它通过第一个
if
语句之后,它将是20。但是,在操作之后,它将进入while循环,它将是22

下面的代码行完全不起作用。因此,不管你是否摆脱它,都不会有什么区别

else
   num += 0;
对于您试图实现的目标,将
num
转换为字符串、将其反转并将其返回为整数将不那么复杂,也更容易实现


希望有帮助!

第一个选项是什么?什么<代码>开关菜单?
else
   num += 0;