#输出2到n之间的全部素数(拼题A 循环)

#输出2到n之间的全部素数(拼题A 循环
在这里插入图片题目描述

#include <stdio.h>  
#include <math.h>
int main(){
int n,i,j,k=0;
scanf("%d",&n);
for(i=1;i<=n;i++)//用输入的数去限制你的循环,当i>你输入的数n时结束循环
  {
    for(j=2;j<=i;j++)//为什么j要从2开始呢,因为从一开始没有任何意义,下一步任何正整数除于1都不会等于零
   
if(i%j==0)break;// 这一句是循环体
if(i==j){
    printf("%6d",i);
    k++;//记录你有几个素数 ,输出了几次i,就加几次
    if(k%10==0)//如果能被10整除就换行,去满足题目要求 ,如果没满足就不换行
    printf("\n");
        }
}
if(k%10!=0)
printf("\n");
return 0;
}


/*拿n=3来说,(1)i=1;i<=5;i++;
             j=2;2<=1(条件为假,结束循环,注意结束的是for的第二个循环哦,后面的所有语句不再执行)
           (2)i=2;2<=5;i++;
             j=2;2<=2;j++;(为什么j还为2呢,而是没有继续加1变为3呢,那是因为上一个带j的for循环中因为表达式2为假已经结束,要重新开启带j的for循环)
             2%2=0,条件符合跳出循环
             2=2,
             输出i,此时的i=2
             k++,即k =1
             if(k%10==0)不是十的倍数不用换行
            (3)    i=3    ;3<=5;i++
             j=2;2<=3;j++;
              3%2=0,条件不符合继续执行
              j=j+1=3 ,
              3%3=0条件符合跳出循环
              3=3
              输出i,此时i=3
              k++,即k=2
              if(2%10==0)不是十的倍数不用换行
跳出大的for的循环后    
if(2%10!=0)
printf("\n");*/         

如果发现错误,热烈欢迎伙伴们及时纠正,及时留言

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值