为什么输出不出来
#include <iostream>using namespace std;
int main() {
int i, j, k, m;
cin >> m;
for (i = 2; i <= m; i++) {
for (j = 2; j < i; j++) {
if (i % j == 0) {
break;
}
if (j == i) {
cout << i << " " << endl;
}
}
}
cout << endl;
return 0;
} 你的代码缺少头文件引用和输出语句,所以无法正常输出结果。此外,应该注意到循环条件的表达式有误。
以下是修正后的代码:
#include <iostream>
using namespace std;
int main() {
int i, j, k, m;
cin >> m;
for (i = 2; i <= m; i++) {
k = 1;
for (j = 2; j < i; j++) {
if (i % j == 0) {
k = 0;
break;
}
}
if (k) cout << i << " ";
}
return 0;
}
在这个程序中,我们使用两层循环来判断从2到输入的数之间的质数。在外层循环中,我们依次遍历2到输入的数,然后在内层循环中,检查当前数是否可以被2到`i-1`之间的数整除。如果可以整除,说明不是质数,将标志位`k`设为0,然后跳出内层循环。最后,检查标志位`k`的值,如果仍然是1,说明当前数是质数,将其输出。
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
页:
[1]