吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1599|回复: 15
收起左侧

[C&C++ 原创] 闰年平年判断

[复制链接]
18649448973 发表于 2023-3-24 19:27
本帖最后由 18649448973 于 2023-3-24 19:28 编辑

[C] 纯文本查看 复制代码
#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');
}

免费评分

参与人数 2吾爱币 +2 热心值 +2 收起 理由
buaipojie + 1 + 1 我很赞同!
bingleng007 + 1 + 1 我很赞同!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

wincao 发表于 2023-3-25 18:25
以下是一个简单的例子,假设您要判断的年份为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整除,则它是一个闰年。
希望这个例子能帮到您。
L6110 发表于 2024-3-14 12:03
之前学c的时候做题搞了一个求出2000-3000之间的闰年,改一改也差不多啊哈哈
[C] 纯文本查看 复制代码
#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;}
	}
}
qyanye 发表于 2023-3-25 09:00
vaycore 发表于 2023-3-25 09:14
qyanye 发表于 2023-3-25 09:00
2023年呢?今年不是闰年吗?

闰年和农历的闰月不一样
starkcccc 发表于 2023-3-25 12:43
当初学C的时候也敲过这个算法,现在七年过去了,令人感慨啊。
 楼主| 18649448973 发表于 2023-3-25 17:30
qyanye 发表于 2023-3-25 09:00
2023年呢?今年不是闰年吗?

每隔4年,或每隔400年,且不是百年
ygt123 发表于 2023-3-25 23:57
wincao 发表于 2023-3-25 18:25
以下是一个简单的例子,假设您要判断的年份为year。

#include ;

学到了!!!!!
mozhongzhou 发表于 2023-8-19 12:36
你好 对于这个问题我之前也遇到过 我可以给出一份答案 希望能帮到你
[C++] 纯文本查看 复制代码
bool isLeapYear(int year) {
    return (year % 4 == 0 && year % 100 != 0) || (year % 400 == 0);


当时我要解决日期加减的问题 除了判断平闰 我记得还写了平闰年每月对应的天数
zjmks 发表于 2023-9-15 14:15
mozhongzhou 发表于 2023-8-19 12:36
你好 对于这个问题我之前也遇到过 我可以给出一份答案 希望能帮到你
[mw_shl_code=cpp,true]bool isLeapYe ...

嗯switch语句判断天数
mozhongzhou 发表于 2023-9-15 16:10
zjmks 发表于 2023-9-15 14:15
嗯switch语句判断天数

直接开个数组操作 switch太难看了
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则 警告:本版块禁止灌水或回复与主题无关内容,违者重罚!

快速回复 收藏帖子 返回列表 搜索

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-5-14 07:24

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表