C语言 ——— 编写代码,获得月份天数

目录

题目要求

年月份常识

代码实现

方法一: swicth

方法二:下标标记法


题目要求

输入 年份月份

输出 这一年份 这个月 有多少天

多组输入,多组输出


年月份常识

135781012月 的月份天数是 31天

46911月 的月份天数是 30天

平年2月 份天数是 28天

闰年2月 份天数是 29天

年份 能被4取模净 并且不被100取模净 或者 能被400取模净 时:为闰年,否则为平年


代码实现

方法一: swicth

代码演示:

#include<stdio.h>
int get_days_of_month(int year, int month)
{
	switch (month)
	{
	case 1:
	case 3:
	case 5:
	case 7:
	case 8:
	case 10:
	case 12:
		return 31;

	case 4:
	case 6:
	case 9:
	case 11:
		return 30;

	case 2:
		if ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0))
			return 29;
		else
			return 28;
	}
}
int main()
{
	//创建
	int year = 0;
	int month = 0;

	//多组输入及输出
	while (scanf("%d %d", &year, &month) == 2)
	{
		int days = get_days_of_month(year, month);
		
		printf("%d年的%d月有%d天\n", year, month, days);
	}

	return 0;
}

代码解析: 

月份有相同的天数,所以可以使用 switch语句实现

只是 2月份 需要单独判断,判断 参数 year 的值即可 

代码验证: 


方法二:下标标记法

 代码演示:

#include<stdio.h>
int get_days_of_month(int year, int month)
{
	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

	if (((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)) && (month == 2))
		days[month] = days[month] + 1;

	return days[month];
}
int main()
{
	//创建
	int year = 0;
	int month = 0;

	//多组输入及输出
	while (scanf("%d %d", &year, &month) == 2)
	{
		int days = get_days_of_month(year, month);
		
		printf("%d年的%d月有%d天\n", year, month, days);
	}

	return 0;
}

代码解析:

月份 作为 下标,相对应的 下标月份位置 存储 相对应的 天数

只是 2月份 要 单独计算 即可

代码验证:

相关推荐

  1. C语言——oj刷题——获取月份天数

    2024-07-17 03:48:03       45 阅读
  2. C语言:计算任意年份及月份天数

    2024-07-17 03:48:03       58 阅读
  3. C语言月份缩写

    2024-07-17 03:48:03       48 阅读
  4. C语言】6-4 月份转换

    2024-07-17 03:48:03       54 阅读
  5. C语言代码编码规范

    2024-07-17 03:48:03       59 阅读
  6. js获取月份

    2024-07-17 03:48:03       38 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-17 03:48:03       67 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-17 03:48:03       72 阅读
  3. 在Django里面运行非项目文件

    2024-07-17 03:48:03       58 阅读
  4. Python语言-面向对象

    2024-07-17 03:48:03       69 阅读

热门阅读

  1. 【03】计算圆形面积

    2024-07-17 03:48:03       17 阅读
  2. linux高级编程(广播与组播)

    2024-07-17 03:48:03       23 阅读
  3. hexdump -C 实现

    2024-07-17 03:48:03       24 阅读
  4. 掌握Conda包管理:精通版本控制的艺术

    2024-07-17 03:48:03       20 阅读
  5. 【ubuntu】没有声音??连不上网络???

    2024-07-17 03:48:03       18 阅读
  6. bat 设置防火墙指定ip范围 指定时间段放行访问

    2024-07-17 03:48:03       19 阅读