R 语言程序,用于检查给定年份是否为闰年


2023 年 2 月 4 日, 学习 eTutorial
3360

什么是闰年?我们如何检查是否为闰年?

 一年有 366 天(二月多一天)的年份称为闰年。闰年是闰年后的第 4 年,在此,我们将解释如何检查给定年份是否为闰年。

  • 如果给定年份能被 4 整除且没有余数,则它是闰年,否则不是。
  • 如果给定年份是世纪年(以 00 结尾的年份),那么它也必须能被 400 整除,否则它不是闰年。

如何使用 R 解决这个闰年程序?

闰年检查可以使用 R 编程中的 嵌套 if .. else 条件 非常简单地实现。首先,我们将要求用户输入一个年份进行闰年检查。R 提供了 readline() 函数,用于通过使用“prompt”向用户提示适当的消息来获取用户输入的数据。

这里要求用户输入一个年份,数据将存储到一个名为“year”的变量中。然后,检查给定的“year”是否能被 4 整除,如果余数为零,则是闰年,否则不是闰年。此外,检查给定年份是否为世纪年(例如 2000),将年份除以 100 且没有余数;然后将年份除以 400 并检查余数是否为 0,如果该条件也满足,则它是闰年,否则表示它是普通年份。

算法

步骤 1:使用 readline() 函数提示用户输入年份,并将其存储到变量 year 中。

步骤 2:首先查找世纪年,使用嵌套的 if 条件 检查 year 是否能被 4、100、400 整除且余数为 0;

  • 如果是,则 打印 该年份是闰年
  • 否则 打印 该年份不是闰年

步骤 3:如果 year 能被 4 整除但不能被 100 整除,表示该年份不是世纪年,则 打印 该年份是闰年。

步骤 4:如果 year 不能被 4 整除,则 打印 该年份不是闰年。

R 源代码

                                          year = as.integer(readline(prompt="Enter a year: "))
if((year %% 4) == 0) {
    if((year %% 100) == 0) {
        if((year %% 400) == 0) {
            print(paste(year,"is a leap year"))
        } else {
            print(paste(year,"is not a leap year"))
        }
    } else {
        print(paste(year,"is a leap year"))
    }
} else {
    print(paste(year,"is not a leap year"))
}
                                      

输出

Enter a year: 2011
[1] "2011 is not a leap year"

Enter a year: 2004
[1] "2004 is a leap year"