• 学C第四天(简单题目)


    // 题目二:输入某年某月某日,判断这一天是这一年的第几天?

    // 1.程序分析:以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天,特殊

    //      情况,闰年且输入月份大于3时需考虑多加一天

    #include <stdio.h>

    #include

    int main()

    {

        int year, month, day, num;

        printf("请输入您需要输入的年份:");

        scanf("%d", &year);

        printf("请输入您需要输入的月份:");

        scanf("%d", &month);

        printf("请输入您需要输入的日期:");

        scanf("%d", &day);

        while (true)

        {

            if (month <= 0 || month > 12)

            {

                printf("您输入的月份有误,请重新输入");

                scanf("%d", &month);

            }

            else

            {

                break;

            }

        }

        switch (month)

        {

        case 1:

            num = 0;

            break;

        case 2:

            num = 31;

            break;

        case 3:

            num = 59;

            break;

        case 4:

            num = 90;

            break;

        case 5:

            num = 120;

            break;

        case 6:

            num = 151;

            break;

        case 7:

            num = 181;

            break;

        case 8:

            num = 212;

            break;

        case 9:

            num = 243;

            break;

        case 10:

            num = 273;

            break;

        case 11:

            num = 303;

            break;

        case 12:

            num = 334;

            break;

        default:

            break;

        }

        // 首先 判断年份是否能够整除400或者4

        if (year % 1000 == 0 && month >= 3)

        {

            if ((year / 1000) % 4 == 0)

            {

                num += day + 1;

                /* code */

            }

        }

        if (year % 4 == 0 && month >= 3)

        {

            num += day + 1;

            /* code */

        }

        printf("这一天是该年的第 %d 天\n", num);

        return 0;

    }

    // 题目三:输入三个整数x,y,z,请把这三个数由小到大输出。

    // 1.程序分析:我们想办法把最小的数放到x上,先将x与y进行比较,如果x>y则将x与y的值进行交换,

    //       然后再用x与z进行比较,如果x>z则将x与z的值进行交换,这样能使x最小。

    #include

    void ArrToString(int arr[], int size)

    {

        printf("[");

        for (int i = 0; i < size; i++)

        {

            printf("%d", arr[i]);

            if (i < size - 1)

            {

                printf(",");

            }

        }

        printf("]");

    }

    int main()

    {

        int x, y, z;

        printf("请输入第一个数:\n");

        scanf("%d", &x);

        printf("请输入第二个数:\n");

        scanf("%d", &y);

        printf("请输入第三个数:\n");

        scanf("%d", &z);

        int arr[3] = {x, y, z};

        for (int i = 0; i < 3; i++)

        {

            for (int j = 0; j < 2; j++)

            {

                int temp;

                if (arr[j] > arr[j + 1])

                {

                    temp = arr[j];

                    arr[j] = arr[j + 1];

                    arr[j + 1] = temp;

                }

            }

        }

        ArrToString(arr, 3);

        return 0;

    }

    // 题目四:输出9*9口诀。

    // 思路:  两个循环

    #include

    int main()

    {

        for (int i = 0; i < 10; i++)

        {

            for (int j = 0; j <= i; j++)

            {

                int result = j * i;

                printf("%d*%d=%-4d", j, i, result);

                /* code */

            }

            printf("\n");

            /* code */

        }

    }

    // 题目五:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月

    //    后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?

    // 2 2 4 8 16  32 64 128

    #include

    #include

    int main()

    {

        int a = 1;

        int mount;

        int result;

        printf("请输入月份\n");

        scanf("%d", &mount);

        if (mount < 3)

        {

            result = a;

            printf("该月兔子数量为:%d对", result);

            return 0;

        }

        for (int i = 3; i <= mount; i++)

        {

            int m1 = a;

            result = m1 + a;

            a = result;

            /* code */

        }

        printf("该月兔子数量为:%d对", result);

        return 0;

    }

    若得青锋三尺剑,醉罢斩天落长虹 my丶q

  • 相关阅读:
    【拆解Vue3】侦听器是如何实现的?
    掌握区块链浏览器的使用,应该是每一个币圈人的必修课。
    u-boot常用命令
    考研是为了逃避找工作的压力吗?
    python 基础语法学习 (二)
    半导体工艺控制设备1
    ZUCC_编译语言原理与编译_实验03 编译器入门
    Linux基础 - Samba 或 NFS 实现文件共享
    linux嵌入式开发所用工具
    查看MySQL的初始密码
  • 原文地址:https://blog.csdn.net/xmy722521/article/details/132645028