判断年份是否为闰年,判断月份的天数

判断年份是否为闰年,判断月份天数

选择1输入年份判断是否为闰年
选择2输入月份判断其天数

#include <stdio.h>

int Leap_year(int a)    //判断年份是否是闰年是返回1否则0
{
        return ((a % 4 == 0 && a % 100 != 0) || a % 400 == 0);
}

int Month_day(int year,int a)//判断对应年份月份的天数
{
        int day = 28;
        if(2 == a && !Leap_year(year))//判断需要判断的月份是否为2月并且年份是否为闰年
        {
                return day;
        }
        else if(2 == a && Leap_year(year))
        {
                return day+1;
        }
        else
        {
                if(a <= 7 && a > 0||a >= 8 && a <= 12)
                {
                        if((a % 2 == 0 && a != 2 && a <=7)||(a % 2 != 0 && a >= 8))
                        {
                                return day+2;
                        }
                        else
                        {
                                return day+3;
                        }
                }
                else
                {
                        return 2;
                }
        }
}

int main()
{
    	int a = 0;
    	printf("输入1判断年份是否是闰年\n");
    	printf("输入2判断月份的天数\n");
    	scanf("%d", &a);

    	switch (a)                      //根据输入判断年份还是月份的天数
    	{
        		case 1:
        		{
            			int year = 0;
    
            			printf("请输入年份!\n");
            			scanf("%d", &year);
    
            			if (Leap_year(year))
            			{
                			printf("%d是闰年!\n", year);
            			}
            			else
            			{
                			printf("%d不是闰年!\n", year);
           	 		}	
            			break;
        		}
        		case 2:
                {
                        int month = 0;
                        int year_month = 0;

                        printf("请输入年月!\n");
                        scanf("%d",&year_month);
                        scanf("%d",&month);

                        int n = Month_day(year_month,month);
                        if(28 <= n && 31 >= n)
                        {
                                printf("%d年%d月有%d天\n",year_month,month,n);
                        }
                        else
                        {
                                printf("对不起,您输入的年月有误!\n");
                        }
                        break;
                }
                default:
                {
                        printf("对不起,您输入有误!\n");
                }
        }
        return 0;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值