题目:
写一程序,判断某一年是否是闰年
闰年的一个概念:
闰年共有366天
凡公历中有闰日(2月29日)的年份,阴阳历中有闰月的年份。
1582年以来公历的置闰规则:
普通闰年:公历年份是4的倍数,且不是100的倍数的,为闰年(如2004年、2020年等就是闰年)。
世纪闰年:公历年份是整百数的,必须是400的倍数才是闰年(如1900年不是闰年,2000年是闰年)。
闰年的计算方法:
题目:
写一程序,判断某一年是否是闰年
解题思路:
先画出判别闰年算法的流程图,如下图。用变量leap代表是否为闰年的信息。
若闰年,令leap=1;非闰年,leap=0
最后判断leap是否为1(真),若是则输出“闰年”信息
代码实现:
实现一:
#include<stdio.h>
int main()
{
int year, leap;
printf("请输入年份:\n");
scanf("%d", &year);
if (year % 4 == 0) {
if (year % 100 == 0) {
if (year % 400 == 0) {
leap = 1;
}
else
leap = 0;
}
else
leap = 1;
}
else
leap = 0;
if(leap)
printf("%d is ", year);
else
printf("%d is not", year);
printf("a leap year.\n");
return 0;
}
实现二
#include<stdio.h>
int main()
{
int leap, year;
printf("请输入一个年份:");
scanf("%d", &year);
if (year % 4 == 0)
{
if (year % 100 != 0)
leap = 1;
else
leap = 0;
}
else
if (year % 400 == 0)
leap = 1;
else
leap = 0;
if (leap)
printf("%d是闰年", year);
else
printf("%d是非闰年", year);
return 0;
}
实现三
#include<stdio.h>
#include<math.h>
int main()
{
int year, leap;
printf("请输入年份:\n");
scanf("%d", &year);
if (year % 4 == 0&&year%100!=0||year%400==0) {
leap = 1;
printf("%d是闰年", year);
}
else{
leap = 0;
printf("%d不是闰年", year);
}
return 0;
}