首页 > 其他分享 >C语言 计算平闰年,某个月有多少天

C语言 计算平闰年,某个月有多少天

时间:2024-06-19 12:30:06浏览次数:18  
标签:case 闰年 int days month getDaysInMonth year 某个 C语言

#include <stdio.h>

int isLeapYear(int year) {
    if ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0))
        return 1;  // 闰年返回1
    return 0;  // 平年返回0
}

int getDaysInMonth(int year, int month) {
    int days;
    switch (month) {
        case 2:
            days = isLeapYear(year) ? 29 : 28;  // 2月根据平闰年返回天数
            break;
        case 4: case 6: case 9: case 11:
            days = 30;  // 4, 6, 9, 11月有30天
            break;
        default:
            days = 31;  // 其他月份有31天
    }
    return days;
}

int main() {
    int year, month;
    printf("输入年份: ");
    scanf("%d", &year);  // 获取年份
    printf("输入月份: ");
    scanf("%d", &month);  // 获取月份

    printf("%d年%d月有%d天\n", year, month, getDaysInMonth(year, month));  // 输出结果

    return 0;
}

说明
  1. 函数isLeapYear用于判断是否为闰年。
  2. 函数getDaysInMonth根据年份和月份返回对应的天数。
  3. main函数中获取用户输入的年份和月份,调用getDaysInMonth并输出结果。

标签:case,闰年,int,days,month,getDaysInMonth,year,某个,C语言
From: https://blog.csdn.net/Random_N1/article/details/139664134

相关文章

  • C语言开发日志,问题记录(长期更新版本)
    一、程序存储与占用1.编译后内存分配编译后的Code(代码),RO-data(只读,譬如const),RW-data(读写,初始化非0的全局变量),存储在ROM(flash)中,ZI-data(初始化为0或者未初始化的变量),运行时ROM占用是Code+RO-data+RW-data运行时RAM占用是RO-data+RW-data+ZI-data;RW和ZI会被......
  • C语言实现三子棋游戏
    三子棋我们再熟悉不过了,但是如何用C语言制作三子棋游戏呢?首先我们用*号代表玩家下棋;我们用#号代表电脑下棋;接着我们可以通过输入坐标来控制棋子的输入,而电脑通过随机数的来下棋。用模块化编程,将一个游戏分成3个文件来制作,分别为主文件test.c来执行主函数main、其次是注册函数......
  • 【C语言】信号
    【C语言】信号信号1.信号状态2.信号处理方式3.信号注册相关函数4.信号集相关函数最后信号1.信号状态信号有三种状态:产生、未决和递达信号产生方式:按键产生,ctrl+c产生中断信号SIGINT,ctrl+\产生退出信号SIGQUIT并生成core文件,ctrl+z产生停止信号SIGSTO......
  • 【C语言】数组参数和指针参数详解
    在写代码的时候难免要把【数组】或者【指针】传给函数,那函数的参数该如何设计呢?1一维数组传参#include<stdio.h>voidtest(intarr[])//ok?{}voidtest(intarr[10])//ok?{}voidtest(int*arr)//ok?{}voidtest2(int*arr[20])//ok?{}voidtest2(int**arr)//ok?......
  • C语言队列操作及其安全问题
    在C语言中,队列是一种常用的数据结构,特别适用于嵌入式开发中的任务调度、缓冲区管理等场景。下面是一个简单的循环队列的模板代码,它使用数组来实现队列,并提供了基本的入队(enqueue)和出队(dequeue)操作。示例代码如下:#include<stdio.h>#include<stdbool.h>#include<string.h>......
  • C语言结构体位域的使用技巧(联合体妙用)
    C语言结构体位域的使用技巧基本概念在C语言中,位域(BitFields)是一种数据结构,它允许程序员访问内存中的单个位。位域通常用于硬件编程,例如嵌入式系统开发,因为它们允许程序员直接访问和控制硬件寄存器的特定位。位域在不同的编译器和平台上可能会有不同的内存对齐和打包行为,......
  • 复习与回顾(C语言)
    学习三阶段:初识——>初阶——>进阶注:蓝色字体皆可跳转一阶:初识1.基本了解C语言的基础知识,对C语言有一个大概的认识2.简单认识每个知识点,后期在初阶和进阶进行详细描述学习内容1.什么是C语言2.第一个C语言程序3.数据类型4.变量、常量5.字符串、转义字符、注释......
  • 实现CHECKSUM的C语言程序
    什么是校验和?在计算中,校验和是使用算法从较大的数据集创建的小数据,目的是对较大的数据集所做的任何更改都会导致不同的校验和。校验和通常用于验证已传输或存储的数据的完整性,因为数据中的错误或修改可能会导致校验和更改。它们还可用于验证数据的真实性,因为校验和通常是使用......
  • C语言 - 标识符
    C语言中的标识符有助于识别C代码中的变量、常量、函数等。C是一种高级计算机语言,它允许您使用名称引用内存位置,而不是以二进制或十六进制形式使用其地址。C标识符标识符是用户定义的名称,以便于引用内存。它还用于定义程序中的各种元素,例如函数、用户定义类型、标签等。......
  • C语言数据结构队列实现-链表队列
    简单实现了下链表队列代码如下#include<stdio.h>#include<stdlib.h>typedefstructNode{intdata;structNode*next;}Node;//入队列voidinsertList(Node*head,intelem){Node*temp=head;Node*newNode=(Node*)malloc(sizeof(Node));......