求100之内的素数

      第一个稍微复杂的C程序,犯了个很低级的错误,调试了一个小时。特此纪念。

#include <stdio.h>
#include <stdlib.h>

int main(void)
{
    int prime[40];
    prime[0] = 2;
    int j = 1;
    int flag;

    for(int i = 3; i < 100; i++)
    {
        flag = 1;
        for(int m = 0; m < j && j< 40; m++)
        {
            if (i % prime[m] == 0)
            {
                //printf("flag = %d\n", flag);
                //printf("m = %d\n", m);
                flag = 0;
                break;
            }
        }

        //printf("flag = %d\n", flag);

        if(flag == 1)
        {
            prime[j] = i;
            j++;
        }
    }

    for(int i = 0; i<j && i<40; i++)
    {
        printf("%d  ", prime[i]);
    }

    return 0;
}

 

posted @ 2014-03-19 21:51  龙格泽月  阅读(145)  评论(0)    收藏  举报