C++ 在c+中获取运行时错误+;用于计算两个数的LCM

C++ 在c+中获取运行时错误+;用于计算两个数的LCM,c++,runtime-error,C++,Runtime Error,我已经做了我的程序来计算两个数的LCM。它没有语法错误 但在输入数字后,它就停止工作了。。请帮助删除此错误。。非常非常感谢您的帮助 #include <iostream> using namespace std; int main() { cout << "Enter Your Two Number : "; int num1, num2, big, i, lcm = 1; cin >> num1 >> num2; big = n

我已经做了我的程序来计算两个数的LCM。它没有语法错误 但在输入数字后,它就停止工作了。。请帮助删除此错误。。非常非常感谢您的帮助

#include <iostream>

using namespace std;

int main()
{
    cout << "Enter Your Two Number : ";
 int num1, num2, big, i, lcm = 1;
 cin >> num1 >> num2;
 big = num1;
 if(num2 > big)
 big = num2;
 for(i = 1; i <= big/2; ++i)
 {
  if(num1 % i == 0)
    if(num2 % i == 0)
      lcm *= i;
 }
 cout << "LCM of " << num1 << " and " << num2 << " is " << lcm;
    return 0;
}
#包括
使用名称空间std;
int main()
{
cout>num1>>num2;
大=num1;
如果(num2>big)
大=num2;

for(i=1;i如果循环以零开始(如您在注释中所说),然后您将拥有例如被零除的
num1%0
,这在数学上是不可能的,并且会导致程序崩溃。

尝试在调试器中运行,它会在崩溃发生时停止,然后您可以检查调用堆栈,如果调试器没有在代码中停止,则可以查看调用堆栈。您还可以检查变量的值,以确定它们是否正常。此外,它是对所有输入“停止工作”,还是仅对某些特殊输入“停止工作”?如果仅对某些输入,请给我们一些有效输入和无效输入的示例。“停止工作”是什么意思?它是否产生错误的结果?这是因为您的逻辑不正确。或者它是否正常终止?如果是,请给我们输入以重现该结果。当我在控制台中输入两个数字时..如6和10..之后显示消息“停止工作”并且不会在我的控制台中提供任何输出您的代码,如问题所示。您必须执行其他未显示的操作。您是否复制并粘贴了实际代码,或在编写问题时重写了它?实际代码是否以零开始循环?