【数据结构与算法】输入年、月、日,输出该日是该年第几天

C语言——计算某日是该年的第几天 一、实例说明 编写一个计算天数的程序,用户从键盘中输入年、月、日,在屏幕中输出此日期是该年第几天。 二、实现代码 #include <stdio.h> main() { int y,m,d,T; printf("请输入年,月,日\n"); scanf("%d,%d,%d",&y,&m,&d); if((y%4==0&&y%100!=0)||(y%400==0)) { T=31+29;} else {T=31+28;} switch(m) { cas 阅读详情

⭐️ 本文首发自 前端修罗场(点击加入),是一个由 资深开发者 独立运行 的专业技术社区,我专注 Web 技术、Web3、区块链、答疑解惑、面试辅导以及职业发展。博主创作的 《Web3 实战教程》(点击订阅),已经帮助许多开发者成功铸造 NFT,内容浅显易懂,能够快速对 Web3 相关概念有一个总体认识!

关键点

  1. 这里要先判断是否是闰年;
  2. 针对闰年与非闰年进行处理;

直接上 C 语言版本代码:

#include <stdio.h>
#include <string.h>

int year,month,day,leap=0,sum=0;
int main(){
  int leaper(int year);
  int summer(int month,int day,int leap);
  printf("请输入年、月、日,用空格分隔:\n");
  scanf("%d %d %d",&year,&month,&day);
  int leap=leaper(year);
  if(!leap){
    if(month==2&&day>=29){
      printf("输入错误!\n");
      return 0;
    }
  }
  printf("该日是%d年的第%d天\n", year,summer(month,day,leap));
  return 0;
}
int leaper(int year){//判断闰年
  if(year%4==0&&year%100!=0){//闰年
    leap=1;
    return leap;
  }else if(year%400==0){//闰年
    leap=1;
    return leap;
  }else{//非闰年
    return leap;
  }
}
int summer(int month,int day,int leap){
  int b[12]={31,28,31,30,31,30,31,31,30,31,30,31};//月份数组
  int sum=0,i;
  if(day>b[month-1]){
    printf("error!\n");
    return 0;1
  }
  

  if(month==1){
    sum=day;
    return sum;
  }else {
    for(i=0;i<month-1;i++)
      sum+=b[i];
      if(leap&&month>2)
        sum+=1;

    return sum+day;
  }
  
}

输出结果:

请输入年、月、日,用空格分隔:
2017 3 4
该日是2017年的第63天
第七章习题18-给出年、月、日计算该日是该年的第几天 希望文章能够给到初学的你一些启发~ 如果觉得文章对你有帮助的话,支持一下笔者吧~ 阅读详情

相关推荐

c语言输入年月日,输出这是一年中的第几天

c语言 输入年月日 输出这是一年中的第几天,输入时需要英文输入法,输入格式如 2018,11,22 需要逗号隔开

输入年、月、日,输出该天是该年的第几天。

因为比如说你输入了一个8,编译器会直接定位到8,因为后面没有break,语句会将8后面的语句全部输出,而s+=30表示的是s=s+30,所以就是计算的到8月的总天数。4另外闰年的判别式条件是输入的年份能被4整除且不能被100整除,比如1996.输入的年份能被400整除。//先按平年算,加上2月的28天。//加上11月的30天。//加上10月的31天。//加上 9月的30天。//加上 1月的31天。

mrjieke6的博客 6475

运动目标成像必学:5分钟搞懂keystone变换原理与避坑指南

本文深入浅出地解析了雷达信号处理中的Keystone变换原理,它是解决运动目标距离徙动问题的关键技术。文章通过直观比喻和简化公式,阐述了该变换如何通过变量代换实现距离与慢时间的解耦合,将倾斜轨迹“掰直”,从而提升成像与检测性能。同时,文中重点指出了实际应用中关于大速度场景、插值误差、多目标处理及高阶运动补偿等关键避坑点,为工程实践提供了宝贵指南。

ios99的博客 400

用C语言实现输入年月日输出该天是该年的第几天

这个程序有两种写法 先来简便的 #include<stdio.h> int main() { int year,month,leap,day,dayth=0; printf("请输入年 月 日(格式为2015 5 12):\n"); scanf("%d%d%d",&year,&month,&day); if(year%4 == 0 && ...

qq_45640470的博客 3万+

边云协同智能进化:大模型与小模型的动态训练与高效部署策略

本文深入探讨了边云协同架构下大模型与小模型的动态训练与高效部署策略。通过物流分拣、医疗影像等实战案例,展示了如何利用边云协作框架实现AI模型的智能进化,显著提升处理效率与准确性。重点解析了动态任务分配、增量学习和知识蒸馏等关键技术,为分布式训练场景提供优化方案。

work3的博客 190

Rk3568 百兆以太网RMII模式DTS配置详解

本文详细解析了RK3568芯片在百兆以太网RMII模式下的DTS配置方法,包括时钟树配置、PHY接口模式定义及实际工程中的进阶设置。通过实战案例和调试技巧,帮助开发者快速解决RMII模式下的常见问题,提升工业控制设备的网络稳定性。

weixin_29189377的博客 420

给出年月日,计算是该年中的第几天(调用函数)

1、用数组;2、常规法;

Kxh2021的博客 4425

触摸芯片RM1015B基本使用方法

RM1015B触摸芯片使用指南:该芯片采用4通道设计(实际使用3通道),通过I2C接口通信(设备地址0x2B)。硬件设计需注意中断/复位引脚复用,需上拉处理。软件配置包括初始化、中断处理和定时器扫描,通过设置各通道阈值(0-300W)调节灵敏度,值越小越灵敏。调试时可调用rm1015B_debug_func()输出波形数据。典型应用场景包括接近检测和手势识别,中断触发后需在8ms内响应。特别注意不同通道的寄存器映射关系及校准流程,确保检测准确性。

云淡风轻 176

KY18 今年的第几天?--多组测试用例

输入可能有多组测试数据,对于每一组测试数据, 输出一个整数,代表Input中的年、月、日对应本年的第几天。包括三个整数年(1<=Y<=3000)、月(1<=M<=12)、日(1<=D<=31)。输入年、月、日,计算该天是本年的第几天。

qq_45822555的博客 151

YOLO12涨点改进| 损失函数改进篇 |AAAI 2025| 一种小目标检测SDLoss损失函数,解决现有损失函数对不同目标尺度敏感度不足的局限,提高了网络检测不同尺度目标的敏感能力,助力高效涨点

本文提出了一种改进的小目标检测方法SDLoss,通过动态调整尺度损失与位置损失的权重,优化了YOLOv12模型的性能。针对红外小目标检测中存在的两个主要问题:1)标准卷积难以捕捉目标的高斯空间分布特性;2)现有损失函数对不同尺度目标的敏感度不足,研究团队开发了Pinwheel-shaped卷积(PConv)和Scale-based Dynamic损失函数(SDLoss)。PConv通过不对称卷积核设计显著提升感受野,SDLoss则根据目标大小动态平衡尺度与位置损失的影响。

Ai缝合怪、助力小伙伴高效发论文 235

AI预测彩票,使用chatgpt和lstm神经网络(文末附源码)

AI预测彩票,使用chatgpt和lstm神经网络(文末有彩蛋)

淘淘小窝 1万+

C语言-第几天,定义一个结构体变量(包括年、月、日)。计算该日在本年中是第几天,注意闰年问题。

1050: C语言-第几天 题目描述 定义一个结构体变量(包括年、月、日)。计算该日在本年中是第几天,注意闰年问题。 输入 年月日 输出 当年第几天 样例输入 2000 12 31 样例输出 366 # include<stdio.h> struct Date { int year; int month; int day; }Date1; int main() { int m,...

Du798566的博客 5375

【实践】VECTOR AUTOSAR创建SWC读写CAN信号

在AUTOSAR开发中最必要的功能就是读写CAN信号,本文通过一步步说明,介绍如何开发SWC来读写CAN信号,可以说在AUTOSAR中实现读写CAN信号的实践过程,是一个非常基础且典型的练习。在本篇文章阅读之前,推荐阅读AUTOSAR RTE介绍,本篇文章介绍了RTE的比较全面的介绍了AUTOSAR RTE。理解了RTE之后,才能对SWC的设计更加清楚。话不多说,接着上一篇内容VECTOR DaVinci从0到1搭建工程,此篇文章我们介绍如何在DaVinci Developer中开发SWC访问CAN信号。为

酒无忧的博客 1228

oracle如何取当前日期年月_Oracle获取当前年、月、日的方法

Oracle获取当前年、月、日的方法Oracle 获取当前年、月、日1、//oracle中extract()函数从oracle 9i中引入,用于从一个date或者interval类型中截取到特定的部分//语法如下:EXTRACT ( { YEAR | MONTH | DAY | HOUR | MINUTE | SECOND } | { TIMEZONE_HOUR...

weixin_34999698的博客 5736

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

C++——定义个一个结构体变量(包括年、月、日),编写程序,要求输入年、月、日,程序计算并输出该日在本年中是第几天。(提示:需要考虑闰年)

cout<<"该日是该年的第"<<d.day<<"天"<<endl;cout<<"请输入年,月,日:"<<endl;

2303_80770781的博客 581

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

C7-18【给出年、月、日计算该日是今年的第几天】

谭浩强C课后练习题

qq_45843514的博客 157

pscad IEEE标准系统搭建说明

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

C语言:计算某日是该年的第几天

题目:计算某日是该年的第几天 自定义一个函数计算天数 首先要判断该年是否为闰年,代码如下: year % 4 == 0 || year % 100 != 0 || year % 400 == 0 然后调用数组输出闰年平年的每个月天数: int arr_day[12] = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 }; int arr_...

weixin_44779591的博客 2043

今年的第几天?

题目描述 输入年、月、日,计算该天是本年的第几天。 输入描述: 包括三个整数年(1<=Y<=3000)、月(1<=M<=12)、日(1<=D<=31)。 输出描述: 输入可能有多组测试数据,对于每一组测试数据, 输出一个整数,代表Input中的年、月、日对应本年的第几天。 示例1 输入 复制 1990 9 20 2000 5 1 输出...

diOSyu的博客 303

牛客网编程练习——今年的第几天?

题目描述 输入年、月、日,计算该天是本年的第几天。 输入描述: 包括三个整数年(1<=Y<=3000)、月(1<=M<=12)、日(1<=D<=31)。 输出描述: 输入可能有多组测试数据,对于每一组测试数据, 输出一个整数,代表Input中的年、月、日对应本年的第几天。 示例 输入 1990 9 20 2000 5 1 输出 263 122 #includ...

梦里逆天的博客 228

【算法】输入某年某月某日,判断这一天是这一年的第几天

题目 输入某年某月某日,判断这一天是这一年的第几天? 分析 以3月5日为例,应该先把前两个月的下起来,然后再加上5天即本年的第几天,特殊情况,闰年且输入月份大于3时需考虑多加一天 import java.util.Scanner; public class Prog14{ public static void main(String[] args){ Scanner sca...

bug制造者 890

输入年月日, 计算该日是这一年中的第几天

/// @file exam_1_4.cpp /// @brief /** exam_1_4 * 定义一个包括年、月、日的结构体变量,当输入年、 月、日数据后,计算该日是这一年中的第几天。 */ #include #include #include #include #include typedef struct _tag_DATE { /// 年月日, 用户输入

博客标题不能为空 4576

机试题 今年的第几天?

题目描述 输入年、月、日,计算该天是本年的第几天。 输入描述: 包括三个整数年(1<=Y<=3000)、月(1<=M<=12)、日(1<=D<=31)。 输出描述: 输入可能有多组测试数据,对于每一组测试数据, 输出一个整数,代表Input中的年、月、日对应本年的第几天。 示例1 输入 1990 9 20 2000 5 1 输出 2...

毛毛的博客 145

计算从键盘获得的日期是2019年的第几天

/** *文件名:Practice1.java; *描述:计算从键盘获得的日期是2019年的第几天 *作者:kyx *时间:2019.01.03 *备注:也可以使用switch语句完成,此时注意case 中的月份要从大到小排列,且没有break(从而实现累加),一月份直接等于date值。 / import java.util.; public class Practice1 { public st...

qq_41369146的博客 575

考研机试题:今年的第几天

输入年、月、日,计算该天是本年的第几天。

weixin_56259838的博客 296

今年第几天?

题目描述 输入年、月、日,计算该天是本年的第几天。 输入描述: 包括三个整数年(1&lt;=Y&lt;=3000)、月(1&lt;=M&lt;=12)、日(1&lt;=D&lt;=31)。 输出描述: 输入可能有多组测试数据,对于每一组测试数据, 输出一个整数,代表Input中的年、月、日对应本年的第几天。 示例1 输入 复制 1990 9 20 2000 5 1 输出...

SPARROW的博客 386
上一篇: 【算法与数据结构】二维数组中寻找鞍点
下一篇: 【算法与数据结构】将字符串中最长的单词输出
蟹蟹蟹风流
蟹蟹蟹风流 优质创作者: 编程框架技术领域 优质创作者: 编程框架技术领域 领域专家: 前端开发技术领域 领域专家: 前端开发技术领域
博客等级 码龄11年 3万+粉丝 396原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

蟹蟹蟹风流

期望和你分享一杯咖啡

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值