我是C ++的新手。我只是无法弄清楚这段代码出了什么问题。 代码在这里:
# include <iostream>
using namespace std;
int main()
{
int a, b, c, d;
cout<<"Enter number of digits to be tested: ";
cin>>a;
if (a==2)
{cout<<a<<" is a prime number."<<endl;}
else
{
cout<<"2 is a prime number."<<endl;
for (b=3; b<=a; b++)
{
for (c=2; c<=b; c++)
{
d=b%c;
if (d==0)
{break;}
else
{cout<<b<<" is a prime number."<<endl;}
}
}
}
return 0;
}
a = 11的输出类似于
2 is a prime number.
3 is a ...
5 is a ...
5 ...
5 ...
7 ...
7 ...
7 ...
7 ...
7 ...
9 ...
11 ...
11 ...
11 ...
11 ...
11 ...
11 ...
11 ...
11 ...
11 ...
我会感谢您的帮助。
答案 0 :(得分:2)
X is a prime number
的打印需要移到最里面的循环之外(具有适当的条件)。
答案 1 :(得分:0)
for (c=2; c<=b; c++)
你无法接受c=b
案件。 c
必须小于b
,因为b
是您应该测试其素数的数字,如果您采用c=b
案例,那么无论b
c
1}},它将除以{{1}}。