7.12.9 显示所有小于或等于该数的素数。

#7.12.9
#include <stdio.h>
int main(void)
{
    int num;
    int i , j;
    int flag = 0;

    printf("请输入一个正整数:
");
    if ((scanf("%d", &num) == 1) && (num > 0))
    {
        for (j = 3; j <= num; ++j)
        { 
            for (i = 2;i < j; ++i)
            {
                if ((j % i) != 0) 
                    flag = 0;
                else
                {
                    flag = 1;
                    break;
                }
            }      
            if (flag == 0) 
                printf("素数 is %d
", j);
            else if (flag == 1) 
                flag = 0;
        }
    }

    return 0;
}

for循环嵌套能考虑到但以下部分就欠缺经验了。用flag标志来决定哪个打印flag = 1后需要跳出循环,判断flag值后要恢复flag默认值

原文地址:https://www.cnblogs.com/EisNULL/p/10810304.html