天花板编程手把手计划-第1期-第0天

题目

依次打印出1~100,遇到素数折行

解题思路

循环一定的数值范围
调判断函数

源码

#include<stdio.h>
#include<math.h>

#define MAX 100
#define MIN 1
#define TRUE 1
#define FALSE 0

typedef int STATE;

STATE isPrimeNum2(int num);

int main()
{
    int num;

    for (num = MIN; num <= MAX; num++)
    {
        if (isPrimeNum2(num))
            printf("%d\n", num);
        else
            printf("%d ", num);
    }
    printf("\n");

    return 0;
}

STATE isPrimeNum1(int num)
{
    int i;
    if (num == 1)
        return FALSE;
    for (i = 2; i < num; i++)
    {
        if (num%i == 0)
            return FALSE;
    }

    return TRUE;
}

STATE isPrimeNum2(int num)
{
    int i, j;
    if (num == 1)
        return FALSE;

    j = (int)sqrt((double)num);

        for (i = 2; i <= j; i++)
        {
            if (num%i == 0)
                return FALSE;
        }

    return TRUE;
}

执行结果

Paste_Image.png

总结

前两天看别人的代码,用define和typedef,见名知意。不知道合适不。好久不敲,好多东西能理解意思,但是自己实现的时候十分困难。再补坑吧!
0.0

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容