嵌入式系统开发笔记69:for循环综合实例


1、求2个数的最小公倍数

#include "stdio.h"

int main(void)
{
    int a, b, t;
    int i;

    printf("请输入两个数(a,b):");
    scanf("%d,%d", &a, &b);

    if (a > b)
    {
        t = a;
        a = b;
        b = t;
    }

    for (i = b; i <= a * b; i++)
    {
        if (i % a == 0 && i % b == 0)
        {
            break;
        }
    }

    printf("%d和%d的最小公倍数是%dn", a, b, i);

    return 0;
}

2、求2个数的最大公约数

#include "stdio.h"

int main(void)
{
    int a, b, t;
    int i;

    printf("请输入两个数(a,b):");
    scanf("%d,%d", &a, &b);

    if (a > b)
    {
        t = a;
        a = b;
        b = t;
    }

    for (i = a; i >= 1; i--)
    {
        if (a % i == 0 && b % i == 0)
        {
            break;
        }
    }

    printf("%d和%d的最大公约数是%dn", a, b, i);

    return 0;
}

3、输出公元a年与b年之间的闰年

#include "stdio.h"

int main(void)
{
    int a, b, t;
    int i;

    printf("请输入两个年份(a,b):");
    scanf("%d,%d", &a, &b);

    if (a > b)
    {
        t = a;
        a = b;
        b = t;
    }

    for (i = a; i <= b; i++)
    {
        if ((i % 4 == 0 && i % 100 != 0) || i % 400 == 0)
        {
            printf("%dn", i);
        }
    }    

    return 0;
}