C语言实现2020年每日计数递增并打印日期和星期

本代码使用C语言实现一个计数器,从2020年1月1日开始,每秒递增一次,并打印对应日期的年、月、日、星期。

#include <stdio.h>
#include <unistd.h>

int main() {
    int count = 10; // 初始计数
    int year = 2020;
    int month = 1;
    int day = 10;
    int weekday = 5; // 星期五

    while (count <= 366) {
        printf('%d年%d月%d日-星期', year, month, day);

        switch (weekday) {
            case 1:
                printf('一');
                break;
            case 2:
                printf('二');
                break;
            case 3:
                printf('三');
                break;
            case 4:
                printf('四');
                break;
            case 5:
                printf('五');
                break;
            case 6:
                printf('六');
                break;
            case 7:
                printf('日');
                break;
        }

        printf('\n');

        // 计数递增
        count++;
        day++;
        weekday++;

        // 判断月份和闰年
        if ((month == 1 || month == 3 || month == 5 || month == 7 || month == 8 || month == 10 || month == 12) && day > 31) {
            day = 1;
            month++;
        } else if ((month == 4 || month == 6 || month == 9 || month == 11) && day > 30) {
            day = 1;
            month++;
        } else if (month == 2) {
            if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) { // 闰年判断
                if (day > 29) {
                    day = 1;
                    month++;
                }
            } else {
                if (day > 28) {
                    day = 1;
                    month++;
                }
            }
        }

        // 判断年份
        if (month > 12) {
            month = 1;
            year++;
        }

        // 判断星期
        if (weekday > 7) {
            weekday = 1;
        }

        // 暂停1秒
        sleep(1);
    }

    return 0;
}

代码说明:

  1. 代码首先定义了几个变量,用来存储计数、年、月、日、星期等信息。
  2. while循环用于控制计数,每循环一次,计数递增1,同时更新日期和星期信息。
  3. switch语句用来根据星期数值,打印对应的星期名称。
  4. if语句用来判断当前日期是否为月末,如果是,则更新月份,并将日期重置为1。
  5. sleep(1)函数用来暂停1秒,实现每秒递增的效果。

使用方法:

  1. 将代码保存为.c文件,例如count.c
  2. 使用编译器编译代码,例如 gcc count.c -o count
  3. 运行编译后的可执行文件,例如 ./count

注意事项:

  1. 该代码使用了sleep函数,需要包含<unistd.h>头文件。
  2. 代码假设初始日期为2020年1月10日,星期五。如需修改初始日期,只需修改countyearmonthdayweekday的初始值即可。

其他改进:

  1. 可以使用更简洁的代码来判断闰年。
  2. 可以使用time.h库函数来获取当前时间,并将其作为初始日期。
  3. 可以使用strftime函数来格式化日期和时间输出。

希望以上信息对您有所帮助!

C语言实现2020年每日计数递增并打印日期和星期

原文地址: https://www.cveoy.top/t/topic/pbNH 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录