【王道训练营】第3题 判断某个年份是不是闰年,如果是闰年,请输出“yes”,否则请输出“no”

在这里插入图片描述

引言

在公历中,闰年的规则如下:如果某个年份能被4整除但不能被100整除,或者能被400整除,那么这个年份就是闰年。让我们看看如何将这个规则转化为C语言代码。

Description 判断某个年份是不是闰年,如果是闰年,请输出“yes”,否则请输出“no”
Input 输入一行,只有一个整数x(0<=x <=10000)
Output 输出只有一行字符

闰年

两者是或(||)的关系---->普通闰年||世纪闰年

普通闰年:公历年份是4的倍数,且不是100的倍数的,为闰年(如2004年、2020年等就是闰年)。
世纪闰年:公历年份是整百数的,必须是400的倍数才是闰年(如1900年不是闰年,2000年是闰年)。

初始代码

我们首先看一下一个基本的实现。这段代码接收一个整数输入,然后根据闰年的规则进行判断。

#include<stdio.h>

int main(){
  
  int a;
  scanf("%d",&a);
  
  if(a%4==0 && a%100!=0 ){
   	printf("yes");
   }
   else if(a%400 == 0)
   {
   printf("yes");
   }
   else
   {
   printf("no");   
   }
  return 0;
}

这段代码能够正确地判断一个年份是否为闰年。首先,它检查年份是否能被4整除且不能被100整除,如果这个条件满足,则输出"yes",表示这是一个闰年。如果第一个条件不满足,代码会检查年份是否能被400整除,如果满足,则输出"yes",表示这是一个闰年。如果以上两个条件都不满足,那么就输出"no",表示这不是一个闰年。

代码改进

虽然上述代码可以正确地判断闰年,但我们还可以做一些改进来提高代码的可读性和用户友好性。

改进1:添加提示信息

在调用scanf函数之前,添加一条提示信息,告诉用户需要输入一个年份。这可以提高程序的用户友好性。

改进2:代码格式

保持代码的整洁和一致性。例如,你可以在每个操作符(如%==)的两边都添加一个空格,以提高代码的可读性。

改进3:变量命名

尽量使用有意义的变量名,而不是简单的字母,这可以提高代码的可读性和可维护性。

下面是改进后的代码:

#include<stdio.h>

int main(){
  
  int year;
  printf("Enter a year: ");
  scanf("%d", &year);
  
  if(year % 4 == 0 && year % 100 != 0){
    printf("yes");
  }
  else if(year % 400 == 0){
    printf("yes");
  }
  else{
    printf("no");   
  }
  
  return 0;
}

其他实现方式

除了上述的基本实现和改进,我们还可以有其他的实现方式,如使用函数或三元操作符。

使用if-else语句

#include <stdio.h>

int main() {
    int year;
    printf("Enter a year: ");
    scanf("%d", &year);

    if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0)
        printf("yes\n");
    else
        printf("no\n");

    return 0;
}

假设用户输入年份为 2024

输出:

Enter a year: 2024
yes

使用函数

#include <stdio.h>

int isLeapYear(int year) {
    return (year % 4 == 0 && year % 100 != 0) || year % 400 == 0;
}

int main() {
    int year;
    printf("Enter a year: ");
    scanf("%d", &year);

    if (isLeapYear(year))
        printf("yes\n");
    else
        printf("no\n");

    return 0;
}

假设用户输入年份为 2024

输出:

Enter a year: 2024
yes

使用三元操作符

#include <stdio.h>

int main() {
    int year;
    printf("Enter a year: ");
    scanf("%d", &year);

    printf("%s\n", ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) ? "yes" : "no");

    return 0;
}

假设用户输入年份为 2024

输出:

Enter a year: 2024
yes

这里的输出结果取决于用户输入的年份。根据闰年的定义,如果年份能被4整除但不能被100整除,或者能被400整除,那么这一年就是闰年。根据用户输入的年份,程序会判断该年份是否为闰年,并输出相应的结果。

结论

以上就是我们用C语言判断闰年的几种方法。虽然这只是一个简单的程序,但它涵盖了许多编程的基本概念,如条件判断、函数和三元操作符等。希望这篇文章能帮助你更好地理解这些概念,并应用到你的编程实践中。

  • 14
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值