【C 语言经典100例 | 菜鸟教程】C 语言练习实例4

Java练习题(用Java编写C语言经典100例)【持续更新中】 学了Java知识点,系统的练习一下知识点。(原型是菜鸟教程的c语言经典100例) 阅读详情

解题思路

本月之前的每个月,都按31天算,再加上平闰年多出的0~1天,再加上今天是本月第几天,最后需要减去多的天数

//
// Created by crazy_pig on 2022/8/31.
// References from : https://www.runoob.com/cprogramming/c-100-examples.html
//

#include "../include/L4.h"

/**
 * 题目:输入某年某月某日,判断这一天是这一年的第几天?
 * 程序分析:以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天,特殊情况,闰年且输入月份大于3时需考虑多加一天。
 */
void L4() {
    int day, month, year, sum, leap;

    printf("\n请输入年/月/日,格式为:年/月/日(2015/2/10)\n");
    scanf("%d/%d/%d", &year, &month, &day);
    printf("您输入的是%d年%d月%d日", year, month, day);

    // 1:闰年+1天,0:平年+0天
    leap = year % 400 == 0 || (year % 4 == 0 && year % 100 != 0) ? 1 : 0;

    // 本月之前的每个月,都按31天算,再加上平闰年多出的0~1天,再加上今天是本月第几天
    sum = (month - 1) * 31 + leap + day;

    // 因为前面每个月都按31天算的,最后需要减去多的天数
    switch (month) {
        case 1:
        case 2:
            break;
        case 3:
        case 4:
            // 2月按28天计(闰日已另算)
            sum -= 3;
            break;
        case 5:
        case 6:
            // 2月-3天,4月-1天,共计-4天
            sum -= 4;
            break;
        case 7:
        case 8:
        case 9:
            // 2月-3天,4月-1天,6月-1天,共计-5天
            sum -= 5;
            break;
        case 10:
        case 11:
            // 2月-3天,4月-1天,6月-1天,9月-1天,共计-6天
            sum -= 6;
            break;
        case 12:
            // 2月-3天,4月-1天,6月-1天,9月-1天,11月-1天,共计-7天
            sum -= 7;
            break;
        default:
            printf("月份输入错误!一年中没有%d月", month);
            break;
    }
    printf("%d年/%d月/%d日是%d年的第%d天", year, month, day, year, sum);
}

Result

L4-Result

J1939协议实用指南与J1939数据记录方案 “没错,这是一份SAE J1939简单、实用指南。”—虹科 **开篇:**在这篇介绍中,我们介绍了J1939协议的基本知识,其中包括PGN和SPN。因为这是一篇偏向应用的简介,所以您还将会学习到如何通过DBC文件解码J1939数据、如何记录J1939、典型的应用案例和实用技巧。下面,来了解下这份简单易懂的J1939介绍吧~ 什么是J1939? 简而言之,SAE J1939其实是一套标准,重型车辆ECU间就是按照这套标准在CAN总线上进行通信的。当今大多数车辆都通过CAN(Controller Area Ne 阅读详情

相关推荐

数字IC设计避坑指南:为什么477条net的DRV问题无法修复?解析don‘t touch hierarchy的影响

本文深入解析了数字IC后端实现中,因“don't touch hierarchy”约束导致大量DRV违规(如477条net)无法自动修复的根本原因。文章以Cadence Innovus工具为例,详细阐述了DRV修复机制与设计保护约束的冲突原理,并提供了从日志定位、风险评估到分级解除约束的完整实战策略,帮助工程师有效解决此类设计收敛难题。

hope8的博客 288

C语言学习-菜鸟教程C经典100例-练习4

本文介绍了C语言实现计算某日期是该年第几天的方法。通过判断闰年条件(能被4整除但不能被100整除,或能被400整除),修改2月天数,然后累加前几个月的天数及当月天数。代码包含日期有效性检查(年份>0,月份1-12,日期在当月范围内)和将闰年判断封装为函数。示例输入2024年3月5日输出第65天,并展示了无效日期的错误处理。

2301_77670476的博客 339

UE5动画革命:如何用Motion Matching技术让你的游戏角色动作更流畅(附实战配置)

本文深入解析了UE5中Motion Matching技术的实战配置与应用。通过对比传统动画状态机的局限,详细阐述了如何构建动画数据库、在UE5中配置Pose Search Database及动画蓝图,并探讨了与IK融合、性能优化等进阶策略。该技术能显著提升游戏角色动作的流畅度与真实感,是下一代动画解决方案的核心。

weixin_29075633的博客 862

菜鸟教程-C语言经典100示例(前50)

这两天正在看基础的算法,在做的时候肯定不能避免的接触了菜鸟上的经典100例,但是使用的时候发现并不是那么的方便,因为它只是给了序号,如果查找某一问题的话很不方便,所以做了这篇博客,希望给自己和其他人带来帮助! 1,有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? 2,企业发放的奖金根据利润提成。其实就是考分类。 3,一个整数,它加上100后是一个完全平方数,再加上...

zlhcsm的博客 6万+

AVM环视:系统搭建整体流程

文章目录前言一、畸变矫正鱼眼相机二、透视变换三、图像拼接四、图像融合总结 前言 由于正在做AVM环视,所以记录一下整个过程,归纳为一个系列文章,并对期间遇到的错误进行归纳整理。本文主要概括了AVM环视的大致流程和逻辑,不涉及代码部分,仅供思路参考,其中涉及的具体技术会在后期整理为小章节进行分析。 一、畸变矫正 鱼眼相机 做环视基本上使用到的是鱼眼照片,因为鱼眼相机的视角范围可以达到220°到230°,所以一个相机就可以采集到一个面的全部信息,例如汽车具有四个面,那么在汽车的前后左右分别安装一个鱼眼相机.

qq_34468890的博客 6535

拆解大疆Osmo Pocket:聊聊微型云台里那几根比头发丝还细的线,以及它为啥一开机就‘摇头晃脑’

本文深入拆解大疆Osmo Pocket微型云台的精密硬件结构,揭秘其开机自检时‘摇头晃脑’的奥秘。通过分析无刷电机、霍尔传感器和46AWG同轴线等核心组件,展现了大疆在微型云台设计中的工程智慧与创新技术,特别是FOC控制和陀螺仪的应用,实现了0.1°级的姿态控制精度。

weixin_27869497的博客 667

C语言:菜鸟教程经典100例题(1-50)

C语言经典100例 注:以下答案与原文不完全相同 实例1 有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? #include <stdio.h> int main(void) { int i, j, k; int n = 0; for (i = 1; i < 5; i++) { for (j = 1; j < 5; j++) { for (k = 1; k < 5; k++) { if (i != j &amp

fwt1226的博客 1万+

AutoGenTestCase - AI大模型生成测试用例

AI技术助力高效软件测试:AutoGenTestCase工具介绍 传统手工测试存在效率低、覆盖不全等痛点。AutoGenTestCase工具集成DeepSeek、通义千问等AI大模型,能快速解析需求并自动生成标准化测试用例,将数小时工作缩短至分钟级。该工具部署简单,仅需配置APIKey即可运行,支持多种测试用例类型比例设置,并输出Markdown和Excel格式的测试用例。通过GitHub或网盘下载后,用户可按照教程完成APIKey配置、需求文档上传和用例生成等操作,显著提升测试效率与覆盖完整性。

YIqifeibaQI的博客 347

菜鸟教程-C语言经典100示例(后50)

注:接上篇(菜鸟教程-C语言经典100示例(前50))51,学习使用按位与 &amp;。52,学习使用按位或 |。53,学习使用按位异或 ^。54,取一个整数a从右端开始的4~7位。55,学习使用按位取反~。56,画图,学用circle画圆形。57,画图,学用line画直线(在TC中实现)。58,学用rectangle画方形。(在TC中实现)。59,画图,综合例子。(在TC中实现)。60,画图,综...

zlhcsm的博客 7万+

Windows Docker Desktop部署MaxKB详细教程

MaxKB(Max Knowledge Base)是一款基于大语言模型(LLM)和检索增强生成(RAG)技术的开源知识库问答系统,旨在帮助企业、教育机构及研究组织高效管理知识并提供智能问答服务。

猿小白的博客 1371

RHCA III之路---EX436-1

由于ha这门课有大量命令需要在3个节点上同步执行.如果执行history会出现前面数字,复制多行会有些麻烦.lab环境是nodea,nodeb,nodec 考试环境是node1,node2,node3。就可以快速将历史命令实现可多行复制,当然也可以用awk进行分割,个人喜好随意。技巧只能加快答题速度,对考试得分帮助不大。确认3个红框内容一致,且没报错即可。再执行一个histrory。3个node节点上运行。这样就能1次复制3行。

Q先生 1002

C语言经典例题(菜鸟教程100例)

学习c语言基础,怎么能少了菜鸟教程上的100道例题呢,这里整理一下每道题的链接,希望大家能享受学习的乐趣 1,有1,2,3,4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? 2,企业发放的奖金根据利润提成。其实就是考分类。 3,一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少? 4,输入某年某月某日,判断这一天是这一年的第几天? 5,...

zwish的信安之路 30万+

【WRFDA教程】客观分析(OBSGRID)详解

客观分析(OBSGRID)详解

WW、forever的博客 1133

一起刷C语言菜鸟教程100题(15-26含解析)

五一过的好快,五天假期说没就没,因为一些事情耽搁到现在,不过还是要继续学习的,之后就照常更新,先说一下,这个100题是菜鸟教程里面的,但是有一些题,我加入了自己的理解,甚至对有一些题进行了改编,目的是让大家更顺手一点,链接放在下面,需要的小伙伴可以点进去看看,话不多说,开始刷题。求第一天共摘了多少。解题思路:这类画图题一般都是找规律的题目,我们可以把菱形拆解成上三角和下三角,我们发现上三角形每一行 * 前面的空格都是逐渐递减,而 * 是逐渐递增的,下三角形的空格逐渐递增, * 逐渐递减,就可以完成代码了。

2302_81032013的博客 2272

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

C语言经典100例-第一篇

题目来自菜鸟教程,所写内容,如有问题,还请见谅。

2301_77118121的博客 2077

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

C语言经典100例(1-20)

此文为本人在练习 菜鸟教程C语言经典100例 时所写的部分代码记录(1~20) #include&amp;lt;stdio.h&amp;gt; int main(void) { int i,j,k; for(i = 1;i &amp;lt; 5;i++) { for(j = 1;j &amp;lt; 5;j++) { if(i == j) ...

DeadBeef 2703

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

C语言:菜鸟教程经典100例题(51-80)

C语言经典100例 注:以下答案与原文不完全相同 实例1-50 实例51 - 与& // Created by www.runoob.com on 15/11/9. // Copyright © 2015年 菜鸟教程. All rights reserved. // #include <stdio.h> int main() { int a, b; a = 077; b = a & 3; printf("a & b(decimal) 为 %d \n", b)

fwt1226的博客 2163

C语言学习-菜鸟教程C经典100例-练习3

本文探讨了寻找满足特定条件的整数问题:一个整数加上100是完全平方数,再加上168又是完全平方数。通过数学推导,将问题转化为求解方程n²-m²=168,并分析了i,j的奇偶性和取值范围。提供了三种解法:1) 基于i,j的因式分解法;2) 暴力遍历x的方法;3) 遍历m的高效方法。代码实现展示了每种方法的求解过程,最终得出四个符合条件的解:-99、21、261和1581。这些解都验证了原始条件,体现了不同解题思路的有效性。

2301_77670476的博客 1295

C语言学习-菜鸟教程C经典100例-练习24

本文介绍了C语言练习题目:计算斐波那契分数序列前20项之和。该序列分子分母均为斐波那契数列,分子从2开始,分母从1开始。通过循环计算,每次迭代更新分子为前两项之和,分母为前一项分子,并累加各项分数。最终输出结果显示前20项之和为32.660263。代码简洁高效,展示了斐波那契数列的典型应用。

2301_77670476的博客 1210

C语言学习-菜鸟教程C经典100例-练习32

C语言删除字符串中指定字符的实现方法 本文介绍了三种在C语言中删除字符串中指定字符的实现方式: 基础实现:通过遍历字符串,将非目标字符复制到新数组中,最后添加字符串结束符。 函数封装(数组索引):将删除操作封装为函数,使用数组索引方式实现。 函数封装(指针):使用指针操作实现同样的功能。 每种方法都包含完整的代码示例和输出结果,展示了如何从用户输入中读取字符串和目标字符,处理后输出结果字符串。这些方法适用于初学者理解字符串处理和字符操作的基本概念。

2301_77670476的博客 2190

C语言经典100例(21-40)

此文为本人在练习菜鸟教程C语言经典100例时所写的部分代码记录(21~40) 网址为: http://www.runoob.com/cprogramming/c-100-examples.html #include&lt;stdio.h&gt; int main(void) { int i,x = 1; for(i = 0; i &lt; 9; i++) { ...

DeadBeef 731

C 语言经典100例(菜鸟在线工具)

C 语言经典100例

学习 记录 总结 分享 1719

C语言经典100例(81-100)

此文为本人在练习菜鸟教程C语言经典100例时所写的部分代码记录(81~100) 网址为: http://www.runoob.com/cprogramming/c-100-examples.html #include&lt;stdio.h&gt; #include&lt;math.h&gt; int OtoD(int n) { int sum = 0; int i = ...

DeadBeef 3303

一起刷C语言菜鸟教程100题(4-14含解析)

解题思路:这道题菜鸟教程的思路很巧妙,所以建议大家记住这个思路就好,就是对三个整数两两比较,让小的数字永远在 x 中,前两个 if 就做到了,在第三个判断是把小的数字放到 y 中,这样就可以解决这道题了。解题思路:一个数除以比它小的数字,一直除下去,最后一次也是它的因数,这里也可以达到将一个正整数分解质因数,只不过因数的顺序是不是从小到大的,但是代码会简洁。解题思路:先遍历100~999,然后拆分各个位,在三次方,就做出来了,这里就直接给菜鸟教程的答案了,后续大家可以试试n位数字的水仙花数。

2302_81032013的博客 1107

C语言经典例题(菜鸟教程100例)_菜鸟教程c语言100例

3,一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?4,输入某年某月某日,判断这一天是这一年的第几天?5,输入三个整数X,Y,Z,请把这三个数由小到大输出。6,用*号输出字母Ç的图案。7,输出特殊图案。8,输出9 * 9口诀。9,要求输出国际象棋棋盘。10,打印楼梯,同时在楼梯上方打印两个笑脸。11,古典问题(兔子生崽):有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?(输出前40个

2401_87251447的博客 1591

初学者如何学习c语言-学习C语言常去的8个网站!

初学者如何学习c语言-学习C语言常去的8个网站!

xiangxue888的博客 2万+
上一篇: 【C 语言经典100例 | 菜鸟教程】C 语言练习实例3
下一篇: 【C 语言经典100例 | 菜鸟教程】C 语言练习实例5
相信光的疯子
博客等级 码龄18年 91粉丝 57原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值