注册 登录
编程论坛 C语言论坛

小白求助:编写程序,找出101~200之间的全部素数,每输出10个素数后换行。

w的平方 发布于 2023-04-13 22:36, 198 次点击
程序代码:
#include <stdio.h>
#include <math.h>
int main()
{
    int i;
    for(i=101;i<200;i++)
    {
        int n=0;
        for(n=2;n<=sqrt(i);n++)
        {
            if(i%n==0)
             break;
            if(i%n!=0)
              printf("%d \n",i);
         }
    }
    return 0;
}


“if(i%n!=0)”我知道这里不对,但是不知道该怎么改?
4 回复
#2
rjsp2023-04-14 08:37
程序代码:
#include <stdio.h>

int main( void )
{
    for( unsigned i=101; i!=200; ++i )
    {
        unsigned j;
        for( j=2; j<=i/j; ++j )
        {
            if( i%j == 0 )
                break;
        }

        if( j > i/j )
            printf( "%u\n", i );
    }
}
#3
阳光上的桥2023-04-14 12:29
程序代码:

#include <stdio.h>
#include <math.h>
int main()
{
    int i,n,ok,cnt;
    cnt = 0; /*已输出的个数,用来控制10个换行*/
    for(i=101;i<200;i++)
    {
        ok = 1; /*是否素数的判断,先假设是素数,下面的循环中一旦发现有因子,就修改为0*/
        for(n=2;n<=sqrt(i);n++)
        {
            if(i%n==0){
                ok=0;
                break;
            }
        }
        if(ok){ /*循环结束后通过 ok 判断是否素数*/
              printf("%4d ",i);/*输出数字不换行*/
              cnt++;
              if (0 == cnt % 10) printf("\n");/*满10个换行一次*/
         }
    }
    return 0;
}
#4
w的平方2023-04-14 15:29
回复 3楼 阳光上的桥
好的,感谢大佬,懂了
#5
w的平方2023-04-14 15:29
回复 2楼 rjsp
不太理解?
1