我的 C++ 代码中的错误在哪里?
Where is the Error in my C++ code?
错误截图如下: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;
}
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
将不会被评估。
您没有处理 i 可能为 0(除以 0)的情况,因此 b % i 不确定。你可以这样解决:
if (i==0) continue;
您应该按 "zero" 处理大小写划分。当 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;
}
错误截图如下: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;
}
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
将不会被评估。
您没有处理 i 可能为 0(除以 0)的情况,因此 b % i 不确定。你可以这样解决:
if (i==0) continue;
您应该按 "zero" 处理大小写划分。当 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;
}