zznuoj 1036 某年某月有多少天

题目描述

 
 

给你一个年份和月份,求该月有多少天。

输入

 
 

一个年份(正整数),一个月份(1-12),中间有一个空格隔开 。

输出

 
 

该月的天数,单独占一行。

样例输入

复制
2012 2

样例输出

复制
29

提示

#include <stdio.h>
int main()
{
	int x,y,a,b,c;
	scanf("%d %d",&x,&y);
	a=x%4;
	b=x%400;
	c=x%100;
	if(a==0&&c!=0||b==0)
	{
		if(y==1||y==3||y==5||y==7||y==10||y==8||y==12)
		{
			printf("31");
		}
		if(y==4||y==6||y==9||y==11)
		{
			printf("30");
		}
		if(y==2)
		{
			printf("29");
		}
	}
	else
	{
				if(y==1||y==3||y==5||y==7||y==10||y==8||y==12)
		{
			printf("31");
		}
		if(y==4||y==6||y==9||y==11)
		{
			printf("30");
		}
		if(y==2)
		{
			printf("28");
		}
		
	}
	

	return 0;
}

### 回答1: 您好,根据输入日,可以计算出该有多少。具体的计算方法是,先判断该是否为闰,如果是闰,则该有366,否则为365。然后根据输入份,计算出该有多少,最后将该数加上前面所有份的数,即可得到该的总数。 ### 回答2: 输入一个日期,可以通过判断是闰还是平来确定该有多少。 闰的判断规则是:份能被4整除但不能被100整除,或者能被400整除的份都是闰。 首先,我们将输入份、份、日期存储到变量中,然后进行判断。 判断该份是否为闰,如果是闰,将该份的数设置为366;如果不是闰,则数为365。 然后,我们根据输入份判断每个份的数。一般来说,1、3、5、7、8、10、12都是31;4、6、9、11都是30;2则需要判断是否是闰。 如果是2且是闰,将数设置为29;如果是2且不是闰,将数设置为28。 最后输出计算得出的数即可。 代码示例: ``` def calculate_days(year, month, day): days = 0 # 判断份是否为闰 if (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0): days = 366 else: days = 365 # 判断份的数 if month in [1, 3, 5, 7, 8, 10, 12]: days += 31 elif month in [4, 6, 9, 11]: days += 30 elif month == 2: if (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0): days += 29 else: days += 28 return days # 输入日 year = int(input("请输入份:")) month = int(input("请输入份:")) day = int(input("请输入日期:")) # 计算数 total_days = calculate_days(year, month, day) # 输出结果 print("该有", total_days, "。") ``` 运行示例: 请输入份:2022 请输入份:3 请输入日期:15 该有 365 。 ### 回答3: 要输出有多少,需要考虑以下几个方面: 1. 首先判断该是否为闰。闰有366,非闰为365。通过以下规则来判断是否为闰: - 若份能被4整除但不能被100整除,则为闰。 - 若份能被400整除,则也是闰。 2. 对于非闰,每个数如下: - 1:31 - 2:28 - 3:31 - 4:30 - 5:31 - 6:30 - 7:31 - 8:31 - 9:30 - 10:31 - 11:30 - 12:31 3. 对于闰,2数为29,其他份与非闰相同。 因此,可以根据输入份和份来判断该有多少。 以下是一个用Python语言实现的例子: ```python def get_days_in_year(year, month, day): if (year % 4 == 0 and year % 100 != 0) or year % 400 == 0: # 判断闰 days_in_month = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31] else: days_in_month = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31] return sum(days_in_month[:month - 1]) + day # 累加前几个数,再加上当前数 # 输入日 year = int(input("请输入份:")) month = int(input("请输入份:")) day = int(input("请输入日期:")) days = get_days_in_year(year, month, day) # 调用函数计算数 print(f"{year}有{days}。") ``` 注意:由于输入份、份和日期的合法性没有进行特别的判断,在实际应用中可能需要添加一些错误处理的逻辑。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

是龙sir哦

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值