C++ 在c+中获取运行时错误+;用于计算两个数的LCM
我已经做了我的程序来计算两个数的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
#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..之后显示消息“停止工作”并且不会在我的控制台中提供任何输出您的代码,如问题所示。您必须执行其他未显示的操作。您是否复制并粘贴了实际代码,或在编写问题时重写了它?实际代码是否以零开始循环?