为了使我们的现代格里高利历与地球绕太阳公转保持一致, 需要years年。阳历一年中只有365天, 因此, 如果我们几乎每四年不在2月29日添加a日, 我们每年将损失近六小时的日历。仅100年之后, 日历就会在大约24天后关闭。
在编写一些确定一年是否来年的代码之前, 你需要了解此任务背后的数学逻辑。通过以下逻辑, 你可以确定一年是否是leap年
- 年份可以平均除以4。
- 如果年份可以平均除以100, 则它不是a年, 除非该年份也可以平均除以400。则它是a年。
#include <
stdio.h>
int main(){int year;
// Read the year input e.g 2000printf("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 yearif ( 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年。
【在编程中如何确定一年是否飞跃】编码愉快!
推荐阅读
- Golang与Node比较(性能,可伸缩性及更多)
- 如何解决SQLSTATE [42000](语法错误或访问冲突:1118行大小太大(8126)在MySQL 5.7中)
- Android / Java - 在位图底部绘制文本
- Android QR位图需要帮助才能删除保证金
- Android - 将ImageView设置为URL
- Android SkImageDecoder :: Factory返回null错误
- 直接从Android活动下载图像
- 在android下载文件时更新进度条
- Android Firebase下载声音