为了使我们的现代格里高利历与地球绕太阳公转保持一致, 需要years年。阳历一年中只有365天, 因此, 如果我们几乎每四年不在2月29日添加a日, 我们每年将损失近六小时的日历。仅100年之后, 日历就会在大约24天后关闭。
在编写一些确定一年是否来年的代码之前, 你需要了解此任务背后的数学逻辑。通过以下逻辑, 你可以确定一年是否是leap年
- 年份可以平均除以4。
- 如果年份可以平均除以100, 则它不是a年, 除非该年份也可以平均除以400。则它是a年。
现在, 交谈很便宜, 因此让我们开始一些代码吧!这样, 你可能会更好地理解它。在以下示例中, 我们将说明如何使用不同的语言来验证一年是否飞跃, 该示例选择的语言将是C语言:
#include <stdio.h>
int main()
{
int year;
// Read the year input e.g 2000
printf("Enter a year: ");
scanf("%d", &year);
if(year % 4 == 0)
{
if(year % 100 == 0)
{
// if year is divisible by 400, then the year is a leap year
if ( year%400 == 0){
printf("%d is a leap year.", year);
}else{
printf("%d is not a leap year.", year);
}
}
else{
printf("%d is a leap year.", year );
}
}else{
printf("%d is not a leap year.", year);
}
return 0;
}
想法是使用模运算符来验证将年除以4、100和400之后的余数是否为0。简言之, 如果将年除以4却不能除以100, 则年份是leap年。如果年份可被4整除, 可被100整除且同时被400整除, 则年份也是leap年。
编码愉快!
评论前必须登录!
注册