C语言—查询某年某月的天数

 输入年份和月份,来查询该月的天数

1.用switch语句

#include<stdio.h>

int main()
{
	int year, month,day;
	printf("输入年份为:");
	scanf_s("%d", &year);
	do
    {
        printf("输入月份:");
	    scanf_s("%d", &month);
    }while(month<1||month>12);//进行月份输入正确性判断
	switch (month)
	{
	case 1:
	case 3:
	case 5:
	case 7:
	case 8:
	case 10:
	case 12:day = 31; break;
	case 2:day = 28 + (year % 4 == 0 && year % 100 != 0 || year % 400 == 0); break;   
	default:day = 30;
	}
	printf("%d年%d月有%d天", year, month, day);
	return 0;
}

2.用二维数组(1)

#include<stdio.h>

int main()
{
	int day[2][12] = { {31,28,31,30,31,30,31,31,30,31,30,31},
					   {31,29,31,30,31,30,31,31,30,31,30,31} };
	int year, month;
	printf("请输入查询年份:");
	scanf_s("%d", &year);
	do {
		printf("请输入查询月份:");
		scanf_s("%d", &month);
	} while (month < 1 || month>12);//对输入月份进行合法性判断
	(year % 4 == 0 && year % 100 != 0 || year % 400 == 0) ? printf("%d年%d月有%d天", year, month, day[1][month - 1]) : printf("%d年%d月有%d天", year, month, day[0][month - 1]);
	return 0;
}

 3.用二维数组(2)

#include<stdio.h>

int main()
{
	int day[2][12] = { {31,28,31,30,31,30,31,31,30,31,30,31},
					   {31,29,31,30,31,30,31,31,30,31,30,31} };
	int year, month;
	printf("请输入查询年份:");
	scanf_s("%d", &year);
	do {
		printf("请输入查询月份:");
		scanf_s("%d", &month);
	} while (month < 1 || month>12);//对输入月份进行合法性判断
	int leap = (year % 4 == 0 && year % 100 != 0 || year % 400 == 0);
	printf("%d年%d月有%d天", year, month, day[leap][month - 1]);
	return 0;
}

  • 8
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值