首页 > 其他分享 >用自定义函数镶嵌求解某年某月的天数

用自定义函数镶嵌求解某年某月的天数

时间:2024-09-30 12:48:44浏览次数:3  
标签:函数 自定义 int 天数 31 30 tianshu 某年某月 day

首先分析年份

年份分为1.平年2.闰年

对于闰年的定义为可以被4整除并且不被100整除,或者可以被400整除

部分代码如下

​
if ((y % 4 == 0 && y % 100 != 0) || y % 400 == 0)//if判断年份是否是闰年

​

 

月份的判断

一年有12个月,1~12个月中天数不同,其中可以用数组来表示

自定义函数镶嵌

可调用两个自定函数

​
int days[] = { 0,31,28,31,30,31,30,31,31,30,31,30,31 };//每个月表示下标,数组的下标是从0开始的月数从1开始,所以可以第0月放个数,从第二个数开始即第一个月
int day = days[m];//这里m代表月数
if (runnian(y) == 1 && m == 2)调用函数,闰年时,2月有29天即比平年多一天,所以用day++
{
	day++;
}

​

 

完整代码如下:

 

 

int runnian(int y)//定义第二个函数
{
	if ((y % 4 == 0 && y % 100 != 0) || y % 400 == 0)//闰年的判断
		return 1;
	else
		return 0;
}
int tianshu(int y, int m)//定义第一个函数
{
	int days[] = { 0,31,28,31,30,31,30,31,31,30,31,30,31 };
	int day = days[m];
	if (runnian(y) == 1 && m == 2)//调用第二个函数
	{
		day++;//闰年的二月份天数多一天
	}
	return day;//返回天数
}
int main ()
{
	int year = 0;
	int month = 0;//初始化
	scanf("%d %d", &year, &month);
	int day = tianshu(year, month);//调用第一个函数
	printf("%d", day);
	return 0;
}

 注意:

在函数自定义的时候,自定义函数的顺序是先后的,比如main函数中调用了tianshu,则tianshu这个自定义函数需要放在main之前,而tianshu函数中调用的runnian函数也应放在tianshu之前。

标签:函数,自定义,int,天数,31,30,tianshu,某年某月,day
From: https://blog.csdn.net/2401_87232884/article/details/142654123

相关文章

  • ASP.NET WebApi OWIN 实现 OAuth 2.0(自定义获取 Token)
    ASP.NETWebApiOWIN实现OAuth2.0(自定义获取Token) 相关文章:ASP.NETWebApiOWIN实现OAuth2.0之前的项目实现,Token放在请求头的Headers里面,类似于这样:Accept:application/jsonContent-Type:application/jsonAuthorization:BearerpADKsjwMv927u...虽然这是......
  • 法定每月计薪天数 vs 法定每月工作天数 All In One
    法定每月计薪天数vs法定每月工作天数AllInOne法定每月记薪天数21.75天/月,用于计算工资的发放,缺勤、事假的工资扣除(365-104-11)/12//20.833333333333332(365-115)/12//20.833333333333332法定每月工作天数20.83天/月,用于计算加班时长、加班费......
  • vue2 自定义empty指令
    主要思路定义一个echarts图标,数据为空,image采用base64编码图标宽高根据父宽高自适应渲染echarts函数,切换清除图例定义暂无数据指令定义option/***暂无数据*@param{number}width*@param{number}height*@returnsoption*/functionemptyChartOptionFn(w......
  • java-快速将普通main类变为javafx类,并加载自定义fxml
    java-快速将普通main类变为javafx类,并加载自定义fxml前提步骤1.普通类继承Application2.实现main方法3.写一个controller4.写一个fxml文件5.写start方法加载fxml6.具体代码7.运行即可前提使用自带javafx的jdk,这里使用的是jdk1.834,当然你可以使用其他的可行......
  • 开源模型应用落地-LangChain实用小技巧-文档分割器-自定义文档分割器(十三)
    一、前言  在LangChain框架中,文档分割器是一种将大段文本拆分成较小块或片段的算法或方法。其目标是创建可单独处理的可管理的片段,这在处理大型文档或数据集时通常是必要的。  而自定义文档分割器可以根据特定的需求和数据类型进行定制和配置,以便更好地适应应用程......
  • 【Ambari自定义组件集成】Ambari汉化,源码级修改手把手教程
    传统方式注意:此方法适合ambari-2.8.0注意:此方法适合ambari-2.8.0注意:此方法适合ambari-2.8.0Step1、找到代码位置:ambari-project\ambari-web\app\messages.js逐一替换Step2、下载我提供的汉化好的:message.jshttps://gitee.com/tt-bigdata/ambari-en-cn/blob/ma......
  • spring 常见注解记录+ 使用自定义注解与aop 记录接口请求参数
    注解定义:importjava.lang.annotation.Documented;importjava.lang.annotation.ElementType;importjava.lang.annotation.Retention;importjava.lang.annotation.RetentionPolicy;importjava.lang.annotation.Target;importorg.springframework.core.annotation.Alias......
  • Springboot自定义Prometheus采集指标
    添加依赖<!--增加Prometheus依赖--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-actuator</artifactId></dependency><dependency><groupId>io.micrometer&l......
  • Python基于自定义方法的排序
    Python基于自定义方法的排序在Python中,排序是一个常见的任务,它可以帮助我们根据特定的规则对数据结构(如列表)中的元素进行排序。Python的内置排序方法,如列表的sort()函数和内置函数sorted(),提供了非常灵活的排序机制,特别是通过key参数,我们可以指定一个自定义的函数来决定排序的顺......
  • 基于qwen2.5 手把手实战 自定义数据集 微调(llama-factory)
    基于qwen2.5手把手实战自定义数据集微调(llama-factory)准备工作1.数据集准备(例:民法典.txt)2.服务器准备(阿里云DSW白嫖)3.环境配置pip升级模型下载微调助手4.数据集处理脚本文件4.1文本分割(bert-base-chinese)4.2数据集生成4.3.1数据集转换(只有一个数据集)alpaca格式......