【王道训练营】第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语言判断闰年的几种方法。虽然这只是一个简单的程序,但它涵盖了许多编程的基本概念,如条件判断、函数和三元操作符等。希望这篇文章能帮助你更好地理解这些概念,并应用到你的编程实践中。

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-28 21:20:03       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-28 21:20:03       106 阅读
  3. 在Django里面运行非项目文件

    2024-03-28 21:20:03       87 阅读
  4. Python语言-面向对象

    2024-03-28 21:20:03       96 阅读

热门阅读

  1. QT TCP和UDP网络编程

    2024-03-28 21:20:03       44 阅读
  2. vue3 实现一个拖拽自定义指令

    2024-03-28 21:20:03       45 阅读
  3. leetcode-简单-数组算法题

    2024-03-28 21:20:03       41 阅读
  4. SpringBoot程序启动流程解析

    2024-03-28 21:20:03       36 阅读
  5. mysql中数据类型与取值范围

    2024-03-28 21:20:03       42 阅读
  6. 低噪声放大器简略

    2024-03-28 21:20:03       43 阅读
  7. jvm高级面试题-2024

    2024-03-28 21:20:03       43 阅读
  8. ThinkPHP8多应用配置

    2024-03-28 21:20:03       42 阅读
  9. 第十四届蓝桥杯省赛Python组真题(未完)

    2024-03-28 21:20:03       38 阅读
  10. 【超详细】关于数据库索引的解答

    2024-03-28 21:20:03       41 阅读