C语言:获得月份天数(多组输入)

这篇具有很好参考价值的文章主要介绍了C语言:获得月份天数(多组输入)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

题目:

描述

KiKi想获得某年某月有多少天,请帮他编程实现。输入年份和月份计算这一年这个月有多少天

           

输入描述:

多组输入一行有两个整数,分别表示年份和月份用空格分隔

             

输出描述:

针对每组输入,输出为一行,一个整数,表示这一年这个月有多少天。

                 

示例1

输入:

2008 2

输出:

29

                    

 =========================================================================

                       

思路一:使用 switch语句 进行日期分类

总体思路:

(一).

写一个函数 get_days_of_month 返回对应月份天数

             

函数参数:

int y -- 年份

int m -- 月份

          

使用 switch语句根据月份返回该月天数

如果 m(月份)

1、3、5、7、8、10、12 月 -- 不论平年还是闰年,该月都有31天返回31天

4、6、9、11 月 -- 不论平年还是闰年,该月都有30天返回30天

如果是 2月 ,则单独判断

平年返回 28 天

闰年 返回 28+1 天即29天

         

(二).

主函数:

        

定义变量:

int y = 0; -- 年份

int m = 0; -- 月份

             

使用 while循环 进行多组输入

输入一次调用一次 get_days_of_month函数 返回天数

 获得 返回天数后 ,进行打印

                


                 

第一步:

写一个函数 get_days_of_month 返回对应月份天数

             

(1).

函数参数:

int y -- 年份

int m -- 月份

          

(2).

使用 switch语句根据月份返回该月天数

如果 m(月份)

1、3、5、7、8、10、12 月 -- 不论平年还是闰年,该月都有31天返回31天

4、6、9、11 月 -- 不论平年还是闰年,该月都有30天返回30天

            

如果是 2月 ,则单独判断

平年返回 28 天

闰年 返回 28+1 天即29天

                     

实现代码:

#include <stdio.h>

//写一个函数返回对应月份天数:
int get_days_of_month(int y, int m)
{
	int d = 0; //该年该月天数
	//使用 switch循环,根据月份返回该月天数:
	switch (m)
	{
		//1 3 5 7 8 10 12 -- 返回31天
		case 1:
		case 3:
		case 5:
		case 7:
		case 8:
		case 10:
		case 12:
		{
			d = 31;
			break;
		}
		//4 6 9 11 -- 返回30天
		case 4:
		case 6:
		case 9:
		case 11:
		{
			d = 30;
			break;
		}
		//2月看平年还是闰年返回天数:
		case 2:
		{
			d = 28; //平年
			if ((y%4==0 && y%100!=0) || (y%400==0))
			{
				d += 1; //闰年,28+1天,即29天
			}
		}
	}
	return d; //返回天数
}

int main()
{
	return 0;
}

实现图片:

C语言:获得月份天数(多组输入),没事做道题:C语言,c语言,c#,c++

                 


                 

第二步:

主函数:

        

(1).

定义变量:

int y = 0; -- 年份

int m = 0; -- 月份

             

(2).

使用 while循环 进行多组输入

输入一次调用一次 get_days_of_month函数 返回天数

 获得 返回天数后 ,进行打印

                     

实现代码:

#include <stdio.h>

//写一个函数返回对应月份天数:
int get_days_of_month(int y, int m)
{
	int d = 0; //该年该月天数
	//使用 switch循环,根据月份返回该月天数:
	switch (m)
	{
		//1 3 5 7 8 10 12 -- 返回31天
		case 1:
		case 3:
		case 5:
		case 7:
		case 8:
		case 10:
		case 12:
		{
			d = 31;
			break;
		}
		//4 6 9 11 -- 返回30天
		case 4:
		case 6:
		case 9:
		case 11:
		{
			d = 30;
			break;
		}
		//2月看平年还是闰年返回天数:
		case 2:
		{
			d = 28; //平年
			if ((y%4==0 && y%100!=0) || (y%400==0))
			{
				d += 1; //闰年,28+1天,即29天
			}
		}
	}
	return d; //返回天数
}

int main()
{
	//定义变量:
	int y = 0; //年
	int m = 0; //月

	//使用while循环,进行多组输入:
	while (scanf("%d %d", &y, &m) == 2)
		//输入了 年 和 月 两个变量后就进行获取天数
	{
		//调用函数 get_days_of_month 并获取返回天数:
		int d = get_days_of_month(y, m);
		
		//获取天数后,进行打印:
		printf("%d\n", d);
	}

	return 0;
}

实现图片:

C语言:获得月份天数(多组输入),没事做道题:C语言,c语言,c#,c++

                    

思路一:最终代码和实现效果

最终代码:

#include <stdio.h>

//写一个函数返回对应月份天数:
int get_days_of_month(int y, int m)
{
	int d = 0; //该年该月天数
	//使用 switch循环,根据月份返回该月天数:
	switch (m)
	{
		//1 3 5 7 8 10 12 -- 返回31天
		case 1:
		case 3:
		case 5:
		case 7:
		case 8:
		case 10:
		case 12:
		{
			d = 31;
			break;
		}
		//4 6 9 11 -- 返回30天
		case 4:
		case 6:
		case 9:
		case 11:
		{
			d = 30;
			break;
		}
		//2月看平年还是闰年返回天数:
		case 2:
		{
			d = 28; //平年
			if ((y%4==0 && y%100!=0) || (y%400==0))
			{
				d += 1; //闰年,28+1天,即29天
			}
		}
	}
	return d; //返回天数
}

int main()
{
	//定义变量:
	int y = 0; //年
	int m = 0; //月

	//使用while循环,进行多组输入:
	while (scanf("%d %d", &y, &m) == 2)
		//输入了 年 和 月 两个变量后就进行获取天数
	{
		//调用函数 get_days_of_month 并获取返回天数:
		int d = get_days_of_month(y, m);
		
		//获取天数后,进行打印:
		printf("%d\n", d);
	}

	return 0;
}

实现效果:

C语言:获得月份天数(多组输入),没事做道题:C语言,c语言,c#,c++

                    

 =========================================================================

                       

思路二:用数组存储各月的日期

总体思路:

(一).

写一个函数 get_days_of_month  返回对应月份天数

        

定义天数变量

int d = 0; -- 天数

           

定义一个数组存放 一年12个月的天数

int days[ ] = { 0,31,28,31,30,31,30,31,31,30,31,30,31 };

下标0的元素随便放一个数,让1月下标为12月下标为2以此类推

         

传进来的月份对应数组中的该月份下标

d = days[m];

           

数组中的二月是28天,是平年的,

判断 int y 是不是闰年m 是不是二月

是则 d += 1;  即 29 天

         

返回天数 d

             

(二).

主函数 和 思路一 一样

                


              

第一步:

写一个函数 get_days_of_month  返回对应月份天数

        

(1).

定义天数变量

int d = 0; -- 天数

           

(2).

定义一个数组存放 一年12个月的天数

int days[ ] = { 0,31,28,31,30,31,30,31,31,30,31,30,31 };

下标0的元素随便放一个数,让1月下标为12月下标为2以此类推

         

(3).

传进来的月份对应数组中的该月份下标

d = days[m];

           

(4).

数组中的二月是28天,是平年的,

判断 int y 是不是闰年m 是不是二月

是则 d += 1;  即 29 天

         

(5).

返回天数 d

                     

实现代码:

#include <stdio.h>

//写一个函数 get_days_of_month 返回对应月份天数:
int get_days_of_month(int y, int m)
{
	//定义天数变量:
	int d = 0;

	//定义一个数组(平年),存放一年12个月的天数:
	int days[] = { 0,31,28,31,30,31,30,31,31,30,31,30,31 };
	// 下标(月份) 0  1  2  3  4  5  6  7  8  9 10 11 12

	//让传进来的月份对应数组中的该年份下标:
	d = days[m];

	//判断是不是闰年的二月:
	if (((y%4==0 && y%100!=0) || (y%400==0)) && m==2)
		//如果是 闰年,并且是 二月  
	{
		d += 1; //在数组中平年二月28天的基础上+1变成29天
	}

	//返回天数:
	return d;
}

int main()
{


	return 0;
}

实现图片:

C语言:获得月份天数(多组输入),没事做道题:C语言,c语言,c#,c++

                 


                 

第二步:

主函数 和 思路一 一样

                     

实现代码:

#include <stdio.h>

//写一个函数 get_days_of_month 返回对应月份天数:
int get_days_of_month(int y, int m)
{
	//定义天数变量:
	int d = 0;

	//定义一个数组(平年),存放一年12个月的天数:
	int days[] = { 0,31,28,31,30,31,30,31,31,30,31,30,31 };
	// 下标(月份) 0  1  2  3  4  5  6  7  8  9 10 11 12

	//让传进来的月份对应数组中的该年份下标:
	d = days[m];

	//判断是不是闰年的二月:
	if (((y%4==0 && y%100!=0) || (y%400==0)) && m==2)
		//如果是 闰年,并且是 二月  
	{
		d += 1; //在数组中平年二月28天的基础上+1变成29天
	}

	//返回天数:
	return d;
}

int main()
{
	//定义变量:
	int y = 0; //年
	int m = 0; //月

	//使用while循环,进行多组输入:
	while (scanf("%d %d", &y, &m) == 2)
		//输入了 年 和 月 两个变量后就进行获取天数
	{
		//调用函数 get_days_of_month 并获取返回天数:
		int d = get_days_of_month(y, m);

		//获取天数后,进行打印:
		printf("%d\n", d);
	}

	return 0;
}

实现图片:

C语言:获得月份天数(多组输入),没事做道题:C语言,c语言,c#,c++

                    

思路二:最终代码和实现效果

最终代码:

#include <stdio.h>

//写一个函数 get_days_of_month 返回对应月份天数:
int get_days_of_month(int y, int m)
{
	//定义天数变量:
	int d = 0;

	//定义一个数组(平年),存放一年12个月的天数:
	int days[] = { 0,31,28,31,30,31,30,31,31,30,31,30,31 };
	// 下标(月份) 0  1  2  3  4  5  6  7  8  9 10 11 12

	//让传进来的月份对应数组中的该年份下标:
	d = days[m];

	//判断是不是闰年的二月:
	if (((y%4==0 && y%100!=0) || (y%400==0)) && m==2)
		//如果是 闰年,并且是 二月  
	{
		d += 1; //在数组中平年二月28天的基础上+1变成29天
	}

	//返回天数:
	return d;
}

int main()
{
	//定义变量:
	int y = 0; //年
	int m = 0; //月

	//使用while循环,进行多组输入:
	while (scanf("%d %d", &y, &m) == 2)
		//输入了 年 和 月 两个变量后就进行获取天数
	{
		//调用函数 get_days_of_month 并获取返回天数:
		int d = get_days_of_month(y, m);

		//获取天数后,进行打印:
		printf("%d\n", d);
	}

	return 0;
}

实现效果:

C语言:获得月份天数(多组输入),没事做道题:C语言,c语言,c#,c++文章来源地址https://www.toymoban.com/news/detail-520419.html

到了这里,关于C语言:获得月份天数(多组输入)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 多组的输入输出(C语言)

    当你想计算多组数字相加时,那就需要输入多个数字,在C语言中,一般一个scanf只能输入一组数据,那如何能同时输入多组数据呢? 例(一):  直接用while来解决,上代码: 例(二):     这个就更显而易见了,直接用while:  例(三):  例(四):     例(五):

    2024年02月08日
    浏览(34)
  • 【C语言】scanf多组输入的三种方法!

    🎬 鸽芷咕 :个人主页  🔥 个人专栏 :《C语言初阶篇》 《C语言进阶篇》 ⛺️生活的理想,就是为了理想的生活!    🌈 hello! 各位宝子们大家好啊,相信大家都多多少少了用过scanf语句吧,但是对scanf函数没有全面的认识仅仅只是知道可以输入。    ⛳️ 今天博主就给大

    2024年02月06日
    浏览(46)
  • 【C语言的秘密】密探—深究C语言中多组输入的秘密!

             你是否在刷题过程中,经常遇到以下场景呢? 场景一: 场景二: 从这些题上都能看见输入描述中提出了一条多组输入,那啥是 多组输入 ?如何实现它呢? 多组输入:在输入数据时,有多组数据需要分别处理的情况 接下来探究如何利用循环实现它。 如果还有不

    2024年02月05日
    浏览(36)
  • 【初阶C语言】关于scanf函数的超详细介绍和多组输入

    感谢各位可以光临娥子的作品   我们学习一个函数,要围绕三个点 :1.函数是什么  2.函数的用法   3.注意的细节 认识一个 函数,我们需要了解他的功能、返回值、接收的参数三个方面 函数原型  (1)功能介绍          scanf函数是一个输入函数 ,所以接收的参数类型需

    2024年02月08日
    浏览(54)
  • 【洛谷】P5716 【深基3.例9】月份天数

    输入年份和月份,输出这一年的这一月有多少天。需要考虑闰年。 输入两个正整数,分别表示年份 y y y 和月数 m m m ,以空格隔开。 输出一行一个正整数,表示这个月有多少天。 样例输入 #1 样例输出 #1 样例输入 #2 样例输出 #2 数据保证 1583 ≤ y ≤ 2020 1583 leq y leq 2020 1583 ≤

    2024年02月15日
    浏览(29)
  • element ui 下拉框 选择月份和天数

    目前做的管理系统项目,期望实现功能为:设置出账周期和出账日,考虑使用element ui下拉框实现功能 vue2+element ui

    2024年04月29日
    浏览(33)
  • MySQL、Oracle 获取当前系统时间、年份、季度、月份、日期、天数、周数

    1.1.1 获取当前系统时间:NOW() NOW() : 获取当前系统时间, 返回的字符串格式为 YYYY-MM-DD HH:MM:SS。 参考案例: 1.1.2 获取当前日期:CURDATE() 参考案例: 1.1.3 获取当前时间:CURTIME() 参考案例: 1.2.1 获取当前年份:YEAR(NOW()) 参考案例: 1.2.2 获取当前季度:QUARTER(NOW()) 参考案例:

    2024年01月16日
    浏览(61)
  • Python获得每个月的天数

    在Python中,我们可以使用不同的方法来确定每个月的天数。下面将介绍几种常用的方法,并提供相应的源代码示例。 方法1:使用calendar模块 Python的 calendar 模块提供了一些有用的函数来处理日期和时间,包括获取每个月的天数。我们可以使用 calendar.monthrange(year, month) 函数来获

    2024年02月04日
    浏览(33)
  • 基于Vue+Element-Ui开发的月日组件,可以选择月份和天数小插件(新版本)

    最近有粉丝在使用的过程中发现不能满足自己项目上的需求,评论说不支持 placeholder 以及更改输入框大小 size ,所以又赶紧更新了一个版本,之前是1.0.7,现在新版本为1.1.0,点击查看之前的老版本 本组件是基于Vue和Element-ui,因Element官方组件库没有可以选择月份和天数的组

    2023年04月19日
    浏览(76)
  • C语言每日一题 ----计算日期到天数转换(Day 2)

    本专栏为c语言练习专栏,适合刚刚学完c语言的初学者。本专栏每天会不定时更新,通过每天练习,进一步对c语言的重难点知识进行更深入的学习。 💓博主csdn个人主页:小小unicorn ⏩专栏分类:C语言天天练 🚚代码仓库:小小unicorn的代码仓库🚚 🌹🌹🌹关注我带你学习编

    2024年02月11日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包