scu-why 2022-03-01 19:15 采纳率: 66.7%
浏览 25
已结题

关于for循环的一个问题。

#include <stdio.h>
int main()
{
int x;

for (x=1;x<=100;x++){    
    
    int i=2;
    int isprime=1;
    
    for(i=2;i<x;i++){
        if(x%i==0)
            
            isprime=0;
        
        break;
        
    }
    if(isprime==1)
        printf("%d\n",x);
    
}
return 0;

}

分界线。

#include <stdio.h>
int main()
{
int x;

    int i=2;
    int isprime=1;
    
    for (x=1;x<=100;x++){    
    

    for(i=2;i<x;i++){
        if(x%i==0)
            
            isprime=0;
        
        break;
        
    }
    if(isprime==1)
        printf("%d\n",x);
    
}
return 0;

}
请问当我改变了第一个for的位置有什么区别,(第一个是正确的)。谢谢

  • 写回答

4条回答 默认 最新

  • 谛凌 2022-03-01 19:21
    关注

    因为每个数字都假设它是素数,在第二个循环内,判断它不是素数,才会把isprime改为0
    所以每个数一开始都要置为1,所以isprime=1应该在第一层for循环里面,通过它来表示“假设一开始认为每个数都是素数”

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 3月9日
  • 已采纳回答 3月1日
  • 创建了问题 3月1日

悬赏问题

  • ¥15 VS2022 C++的相关代码问题咨询
  • ¥15 如果要做一个老年人平板有哪些需求
  • ¥15 k8s生产配置推荐配置及部署方案
  • ¥15 matlab提取运动物体的坐标
  • ¥15 人大金仓下载,有人知道怎么解决吗
  • ¥15 一个小问题,本人刚入门,哪位可以help
  • ¥30 python安卓开发
  • ¥15 使用R语言GD包一直不出结果
  • ¥15 计算机微处理器与接口技术相关问题,求解答图片的这个问题,有多少个端口,端口地址和解答问题的方法和思路,不要AI作答
  • ¥15 如何根据一个截图编写对应的HTML代码