C++ 代码错误(查找1到100之间的素数)
我认为它是对的,但它找不到素数。我不知道它有什么错误C++ 代码错误(查找1到100之间的素数),c++,C++,我认为它是对的,但它找不到素数。我不知道它有什么错误 #include<iostream> #include<cmath> using namespace std; int main() { int i, j, n, a[101]; for (i = 1; i <= 100; i++) a[i] = i; a[1] = 0; for (i = 2; i < sqrt(100); i++); for (j
#include<iostream>
#include<cmath>
using namespace std;
int main()
{
int i, j, n, a[101];
for (i = 1; i <= 100; i++)
a[i] = i;
a[1] = 0;
for (i = 2; i < sqrt(100); i++);
for (j = i + 1; j <= 100; j++)
{
if (a[i] != 0 && a[j] != 0)
if (a[j] % a[i] == 0)
a[j] = 0;
}
cout << endl;
for (i = 1; i <= 100; i++)
{
if (a[i] != 0)cout << a[i] << " ";
}
cout << endl;
system("pause");
}
它输出从2到99的所有数字,而不是素数,因为外部for循环没有主体
对于i=2;i去掉分号。始终使用大括号标记循环的边界,即使循环体只是一条语句。您输入的i=2;i