求的是m 和n之间的素数
#include <stdio.h>
int main()
{
int m, n, i, x;
scanf("%d,%d", &m, &n);
for (i = m; i <= n; i++)
{
for (x = 2; x <= i; x++)
{
if (i % x == 0)
{
break;
}
if(i==x)
{
printf("%d ", i);
}
}
}
return 0;
}
为什么我的这个运行结果一直为空 是哪里出错了
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
2条回答 默认 最新
mr-element 2023-10-20 11:29关注在for循环中,应该将if(i==x)检查放在第二个for循环的外部,以便在所有可能的x值都被测试后,才确定i是素数。
#include <stdio.h> int main() { int m, n, i, x; scanf("%d,%d", &m, &n); for (i = m; i <= n; i++) { for (x = 2; x <= i; x++) { if (i % x == 0) { break; } } if (i == x) { printf("%d ", i); } } return 0; }本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报