以下是错误截图:http://prntscr.com/9n6ybt
以下是代码:
#include <iostream>
using namespace std;
int main()
{
int a, b;
cin>>a>>b;
for(int i=a;i<=b;i++)
{
if (b%i==0)
{
cout << i << " ";
}
}
return 0;
}
答案 0 :(得分:3)
for(int i=a;i<=b;i++)
{
if (b%i==0)
{
cout << i << " ";
}
}
如果i == 0
您必须检查输入或i
的值,例如:
for(int i=a; i<=b; i++)
{
if (i > 0 && b%i==0)
{
cout << i << " ";
}
}
如果i == 0
,则不会评估b%i==0
。
答案 1 :(得分:0)
你没有处理我可能为0的情况(除以0)所以b%i是不确定的。你可以通过这种方式解决它:
if (i==0) continue;
答案 2 :(得分:0)
您应该通过“零”处理案例除法。当i = 0的值时,代码失败并产生异常。 你应该这样做:
#include <iostream>
using namespace std;
int main()
{ int a, b;
cin>>a>>b;
for(int i=a;i<=b;i++)
{ if (i == 0)
continue;
else if (b%i == 0)
cout << i << " ";
}
return 0;
}