C语言每日一题(7):获得月份天数

2023-09-19 16:35:48

标头在这里插入图片描述


  • 文章主题:获得月份天数🔥
  • 所属专栏:C语言每日一题📗
  • 作者简介:每天不定时更新C语言的小白一枚,记录分享自己每天的所思所想😄🎶
  • 个人主页:[₽]的个人主页🏄🌊


前言

编程起因

最近在牛客网上刷到了一个很好的训练分支语句的题目,于是想出了求两个数二进制中不同位的个数这道题加深一下自己对于这方面的理解。

项目介绍

运用分支语句,设计了一个输入年份和月份就能获得该月天数的项目。


设计思路

1.整体逻辑

获得月份天数需要分特殊情况和普通情况,根据常识可知道闰年1时二月是29天,而平年时二月是28天,则如果用分支语句判断为二月份需要再用一个次级分支语句来讨论是否为闰年,下面一个在设计一个和二月同级的非二月份,然后在设计一个非二月份的每月的天数次级分支语句。

2. 具体逻辑

与代码展示中的逻辑相同这里不作过多解释。


代码展示

#include <stdio.h>
int main()
{
    int year = 0, month = 0;
    printf("Please enter the year and month:\n");
    while (scanf("%d%d", &year, &month) != EOF)
    {
        printf("The number of days in that month of the year is:\n");
        if (month == 2)
        {
            if ((year % 400 == 0) || ((year % 100 != 0) && (year % 4 == 0)))
            {
                printf("29\n");
            }
            else
            {
                printf("28\n");
            }
        }
        else
        {
            switch (month)
            {
            case 1:
            case 3:
            case 5:
            case 7:
            case 8:
            case 10:
            case 12:
                printf("31\n");
                break;
            case 4:
            case 6:
            case 9:
            case 11:
                printf("30\n");
                break;
            }
        }
    }
    return 0;
}

效果展现

在这里插入图片描述


结语

以上就是我对获得月份天数这个项目的解题思路,代码以及效果展示,希望对你的C语言学习有所帮助!作为刚学编程的小白,可能在一些设计逻辑方面有些不足,欢迎评论区进行指正!看都看到这了,点个小小的赞或者关注一下吧(当然三连也可以~),你的支持就是博主更新最大的动力!让我们一起成长,共同进步!


  1. 1582年以来公历的置闰规则:
    普通闰年:公历年份是4的倍数,且不是100的倍数的,为闰年(如2004年、2020年等就是闰年)。
    世纪闰年:公历年份是整百数的,必须是400的倍数才是闰年(如1900年不是闰年,2000年是闰年)。 ↩︎

更多推荐

【AI+医疗】AI在医疗影像设备工作周期中的应用探索

导读随着人工智能技术的飞速发展,越来越多的领域开始与人工智能技术深度融合,产生了一种新型的技术模式——AI+。AI+是指将人工智能技术与其他领域的技术或应用进行结合,在提高效率、精度和创新能力的同时,也为人工智能技术的发展提供了更多的应用场景和数据支持。其中,AI+医疗是人工智能技术与医疗领域的深度融合,通过结合人工智

代码随想录算法训练营第56天 | ● 583. 两个字符串的删除操作 ● 72. 编辑距离 ● 动态规划之编辑距离总结篇

文章目录前言一、583.两个字符串的删除操作二、72.编辑距离三、动态规划之编辑距离总结篇总结前言一、583.两个字符串的删除操作两种思路:1.直接动态规划,求两个字符串需要删除的最小次数2.采用子序列的和-最长公共子序列。思路一分析如下:动规五部曲,分析如下:确定dp数组(dptable)以及下标的含义dp[i][j

频频刷屏朋友圈,白酒如何越来越年轻化?来聊聊白酒企业数字化

最近,某白酒品牌频频吸引大众眼球,白酒与咖啡、巧克力等联名衍生品一经推出便掀起热潮。某商品由于太过火爆,甚至一度售罄下架。不得不说,我国拥有超大规模内需市场,消费潜力巨大。当前,创新消费场景加上数字化融合转型,成为酒企品牌开疆扩土、逆势增长的重要途径。如今越来越多的酒企开始拥抱数字化,建立涵盖白酒品系开发、酒体设计、基

如何用CRM软件系统管理企业客户

客户对企业的重要程度不言而喻。可以说,客户是企业收益的来源和可持续发展的基础,客户的转化率和保留率也与企业的发展息息相关。企业想要成功转化客户,需要经历客户跟踪、挖掘、维护等一系列过程。下面我们来说说,CRM客户管理系统如何管理企业客户?1、CRM系统能从不同渠道获取客户CRM系统可以实现客户信息获取和访问、高效转化和

Js中一些数组常用API总结

前端面试题库(面试必备)推荐:★★★★★地址:前端面试题库【国庆头像】-国庆爱国程序员头像!总有一款适合你!前言Js中数组是一个重要的数据结构,它相比于字符串有更多的方法,在一些算法题中我们经常需要将字符串转化为数组,使用数组里面的API进行操作。本篇文章总结了一些数组中常用的API,我们把它们分成两类,一类是会改变原

数据信息会有哪些风险,云数据库如何保护?

数据信息安风险是多种多样的,那么,云数据库如何规避并保护数据信息安全?今天安策带大家具体来了解数据信息会有哪些风险,云数据库将如何保护:数据泄露:不管是内部人员疏忽,还是恶意攻击、系统漏洞等等原因,数据泄露会导致敏感信息的暴露,损害其品牌的声誉和利益。数据损坏:损坏原因主要由自然灾害、人为或恶意攻击构成,从而导致无法预

容器核心技术之Namespace与Cgroup

容器是一种流行的虚拟化技术,它允许我们在同一台计算机上与其他进程在独立环境中运行进程。那么容器是如何做到这一点的呢?为此,容器是从Linux内核的一些新功能构建的,其中两个主要功能是“namespace”和“cgroup”。1.Namespace1.1Namespace简介Namespace(命名空间)技术是一种内核级

Nvme Spec 第一章节学习

@NvmeExpressBaseSpecification第一章简介1.1概述NVMExpressTM(NVMeTM)接口允许主机软件与非易失性存储器子系统通信。此接口针对企业和客户端固态驱动器进行了优化,通常作为寄存器级接口连接到PCIExpress接口。注:在开发过程中,本规范被称为企业NVMHCI。然而,在完成之

YOLOv8『小目标』检测指南

前言目前博主课题组在进行物体部件的异常检测项目,项目中需要先使用YOLOv8进行目标检测,然后进行图像切割,最后采用WinCLIP模型进行部件异常检测但是在实际操作过程中出现问题,YOLOv8模型目标检测在大目标精确度不错,但是在小目标检测中效果极差我们之前的解决方案是扩大异常部件的目标检测范围,易于检测。但是缺点是会

stable diffusion在建筑行业应用

AI建筑研究室-帆哥投稿视频-AI建筑研究室-帆哥视频分享-哔哩哔哩视频点击观看AI建筑研究室-帆哥的全部投稿视频,在这里可以查看AI建筑研究室-帆哥最新发布、最多播放和最多收藏的视频。https://space.bilibili.com/2161614/videoHD▎ChatGPT接入自研AI工具集,为设计生产赋能

wkeOnDownload2与mbOnDownloadInBlinkThread

背景:最近开始实习(打工)生涯。需求:使用miniblink,显示网页,点击下载链接,可以实现下载。寻求大佬帮助,得到了wke.h版本的下载相关的代码。这里进行一些简单的分析:实际语句:wkeOnDownload2(webView,onDownloadCallback,nullptr);通过调用该函数实现:点击链接,实

热文推荐