闰年平年判断
本帖最后由 18649448973 于 2023-3-24 19:28 编辑#include <stdio.h>
void test3();
int main() {
test3();
return 0;
}
/*
*请用一个逻辑表达式来判断某一年是否为闰年。
某一年份如果符合下边 A 或 B 其中一个,我们称之为闰年:
A. 能被 4 整除,但不能被 100 整除;
B. 能被 400 整除。
*/
void test3() {
do {
printf("\n================测试3==闰年平年================\n");
int yer = 100;
printf("请输入一个年份后回车:");
scanf("%d", &yer);
getchar();//吃掉回车缓存
if (yer % 100 == 0 && (yer % 400 != 0 || yer % 4 != 0))//判断该数是否能被100整除,不能被400或4整除
printf("%d年为平年\n", yer);
else if (yer % 4 == 0 || yer % 400 == 0) //判断该数是否能被4或者400整除
printf("%d年为润年\n", yer);
else printf("%d年我也不懂是什么年\n", yer);//无法计算的其他年份
printf("%d年,除4=%.2f,除400=%.2f,除100=%.2f\n", yer, (float) yer / 4.0, (float) yer / 400.0,
(float) yer / 100.0);
printf("按回车退出,任意键继续");
} while (getchar() != '\n');
}
以下是一个简单的例子,假设您要判断的年份为year。
#include <stdio.h>;
int main()
{
int year;
printf("请输入一个年份:");
scanf("%d",&year);
if(year%4 == 0) {
if( year%100 == 0) {
if ( year%400 == 0) {
printf("%d 是闰年", year);
}
else {
printf("%d 不是闰年", year);
}
}
else {
printf("%d 是闰年", year );
}
}
else {
printf("%d 不是闰年", year);
}
return 0;
}
这个例子使用了嵌套的if语句来判断一个年份是否为闰年。
- 如果一个年份能被4整除,但不能被100整除,则它是一个闰年。
- 如果一个年份既能被4整除,又能被100整除,但不能被400整除,则它不是一个闰年。
- 如果一个年份能被400整除,则它是一个闰年。
希望这个例子能帮到您。 之前学c的时候做题搞了一个求出2000-3000之间的闰年,改一改也差不多啊哈哈
#include <stdio.h>
main()
{ int x=2000,y=0;
for(;x<=3000;x++)
{
{if(x%100!=0||x%400==0)
if(x%4==0||x%400==0)
{printf("%d ",x);
y++;
}
}
if(y==10) {printf("\n");y=0;}
}
} 2023年呢?今年不是闰年吗? qyanye 发表于 2023-3-25 09:00
2023年呢?今年不是闰年吗?
闰年和农历的闰月不一样 当初学C的时候也敲过这个算法,现在七年过去了,令人感慨啊。 qyanye 发表于 2023-3-25 09:00
2023年呢?今年不是闰年吗?
每隔4年,或每隔400年,且不是百年 wincao 发表于 2023-3-25 18:25
以下是一个简单的例子,假设您要判断的年份为year。
#include ;
学到了!!!!! 你好 对于这个问题我之前也遇到过 我可以给出一份答案 希望能帮到你
bool isLeapYear(int year) {
return (year % 4 == 0 && year % 100 != 0) || (year % 400 == 0);
当时我要解决日期加减的问题 除了判断平闰 我记得还写了平闰年每月对应的天数 mozhongzhou 发表于 2023-8-19 12:36
你好 对于这个问题我之前也遇到过 我可以给出一份答案 希望能帮到你
bool isLeapYe ...
嗯switch语句判断天数 zjmks 发表于 2023-9-15 14:15
嗯switch语句判断天数
直接开个数组操作 switch太难看了
页:
[1]
2