首页 > 其他分享 >循环控制:(第10题)与闰年相关的问题,涉及数组,函数的知识

循环控制:(第10题)与闰年相关的问题,涉及数组,函数的知识

时间:2024-03-21 22:02:31浏览次数:20  
标签:10 闰年 int 31 30 gap 数组 year sum

#include <stdio.h>
int is_leap_year(int year)
{
	if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0)
		return 1;
	else
		return 0;
}
int gap_years(int year)
{
	int i = 1990;
	int sum = 0;
	int gap_years = 0;
	if (year == 1990)
		return 0;
	for (i = 1990; i < year; i++)
	{
		if (is_leap_year(i))
			gap_years = 366;
		else
			gap_years = 365;
		sum += gap_years;
	}
	return sum;
}
int gap_months(int year,int month)
{
	int days[] = { 0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
	int days_in_leap_year[] = { 0, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
	int sum=0;
	int i = 0;
	if (month == 1)
		return 0;
		if (is_leap_year(year))
		{
			for (i = 1; i < month ; i++)
			{
				sum += days_in_leap_year[i];
			}
			return sum;
	    }
		else
		{
			for (i = 1; i < month ; i++)
			{
				sum += days[i];
			}
			return sum;
		}
}
int main()
{
	int day = 0;
	int month = 0;
	int year = 0;
	int gap = 0;
	int a = 0;
	scanf("%4d-%2d-%2d", &year, &month, &day);
	if (day >= 32)
	{
		printf("Invalid input");
	}
	else
	{
		gap = gap_years(year) + gap_months(year, month) + day;
		printf("%d\n", gap);
		a = gap % 5;
		printf("%d\n", gap_years(year));
		printf("%d\n", gap_months(year, month));
		printf("%d\n", day);
		if (a <= 3 && a > 0)
			printf("He is working");
		else
			printf("He is having a rest");
	}
	return 0;
}

标签:10,闰年,int,31,30,gap,数组,year,sum
From: https://blog.csdn.net/2301_80744520/article/details/136921931

相关文章

  • 非有序数组也能二分? —— 红蓝染色法续篇(Leetcode 162.寻找峰值)
    1.写在前面本文为个人学习总结,参考:B站Up:灵茶山艾府参考视频链接:https://www.bilibili.com/video/BV1QK411d76w/2.题目我们来看一下下面这道题:峰值元素是指其值严格大于左右相邻值的元素。给你一个整数数组nums,找到峰值元素并返回其索引。数组可能包含多个峰值,在......
  • P1017 [NOIP2000 提高组] 进制转换题解
    题目我们可以用这样的方式来表示一个十进制数:将每个阿拉伯数字乘以一个以该数字所处位置为指数,以10为底数的幂之和的形式。例如123可表示为1×102+2×101+3×100这样的形式。与之相似的,对二进制数来说,也可表示成每个二进制数码乘以一个以该数字所处位置为指数,以2为底数的幂之......
  • BEE1038:经济学数据科学导论
    BEE1038:经济学数据科学导论在这项任务中,你将展示你对编程的理解和掌握Python使用数据科学工具。到第6/7周结束时,你将学到的东西几乎涵盖了你所需要的一切,你所学到的已经足够着手解决一些问题了。如果你被卡住了再读一遍笔记本。如果你仍然不确定,那就上网看看。谷歌和StackOverFl......
  • 代码随想录算法训练营第五十三天 | 53. 最大子序和 动态规划,1035.不相交的线,1143.最
    53.最大子数组和 已解答中等 相关标签相关企业 给你一个整数数组 nums ,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。 子数组 是数组中的一个连续部分。  示例1:输入:nums=[-2,1,-3,4,-1,2,1,-5,4]......
  • 根据原图,计算一个宽或高最大100的图片的计算方法
    constpreviewImageRatio=previewImageWidth/previewImageHeight;//原图宽高比例letthumbnailHeight,thumbnailWidth;//缩略图高和宽if(previewImageRatio>1){thumbnailWidth=100;......
  • 【HarmonyOS NEXT】气泡默认颜色和API 10不同,设置popupColor属性无法修改气泡颜色
    ​ 【关键字】HarmonyOSNEXT、气泡提示、Popup、popupColor【问题背景】API10接口的气泡颜色是‘#4d4d4d’的,但是使用API11后,气泡颜色变成透明的了,然后通过popupColor属性设置其他颜色都无效。【API10的效果】​【API11的效果】​在PopupOptions中设置popupColor:......
  • 前端基础之JavaScript数组
    数组一、什么是数组数组类似于python里面的列表[]在编程中,数组(Array)是一种数据结构,用于存储相同类型的多个元素。这些元素按照顺序排列,并通过索引(通常是非负整数)来访问。数组可以包含各种数据类型,例如整数、浮点数、字符串,甚至其他数组。在许多编程语言中,数组的大小是固定......
  • JavaScript 实现通过 id 数组获取可展示的 name 拼接字符串
    JavaScript实现通过id数组获取可展示的name拼接字符串场景有一个包含许多对象的数组,每个对象都包含了一个标识(id)和一个名称(name)。想要从这个数组中选出特定的一些对象,这些对象的标识(id)在另一个数组中已经给出。然后,想把这些选出来的对象的名称(name)连接成一个字符串,用逗号分......
  • 【大语言视觉助手+LLaVA1.5】23.10.LLaVA-1.5改善后视觉语言大模型: Improved Baselin
    LLaVa家族官方资源汇总:项目主页||https://huggingface.co/liuhaotian23.04.LLaVA1.0论文:LargeLanguageandVisionAssistant(VisualInstructionTuning)23.06LLaVA-Med(医学图片视觉助手):TrainingaLargeLanguage-and-VisionAssistantforBiomedicineinOne......
  • 数组的基本算法
    6.1冒泡排序privatestaticvoidbubbleSort(int[]arr){  //外循环:控制比较的轮数  for(inti=0;i<arr.length-1;i++){    //内循环:控制比较的次数    //-1避免索引越界,-i提高效率    for(intj=0;j<arr.length-1......