a98 发表于 2018-2-12 21:39:19

求1-100的素数

#include<stdio.h>
#include<math.h>
void main()
{
        int i,j;
        for(i=2;i<=100;i++)//数
        {
                for(j=2; j<i ;j++)//除数
                {
                        if(i%j!=0 && j>i)
                        {
                                printf("%-4d",i);
                                break;
                        }
                }
        }
}


因为第二个for循环的条件一直不成立,所以没有结果输出。

但是感觉逻辑没什么问题。

应该怎么改好呢?{:10_269:} 不用介绍别的方法,就想把这个改改对,运行效率不高没关系。

拜托各位瞧瞧{:10_243:}

ba21 发表于 2018-2-12 21:52:03

#include<stdio.h>
#include<math.h>
void main()
{
      int i,j;
                int flag = 0;
      for(i=2;i<=100;i++)//数
      {
                for(j=2; j<i ;j++)//除数
                {
                        if(i%j==0)
                        {
                              flag = 1;
                              break;
                        }
                }
                                if(!flag)
                                        printf("%-4d",i);
                                flag = 0;
                               
      }
}
页: [1]
查看完整版本: 求1-100的素数