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

2017-04-21  本文已影响52人  今方信

题目

依次打印出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

上一篇下一篇

猜你喜欢

热点阅读