[C语言]【输出1000-2000年的闰年】-创新互联
[C语言]输出1000-2000年的闰年
本文名称:[C语言]【输出1000-2000年的闰年】-创新互联
标题来源:http://pwwzsj.com/article/djopcs.html
- 闰年概念:
- 能被4整除且不能被100整除/能被400整除
- 一 、方法:
- 1、一般写法
- 2、 调用函数法
- 二、 代码优化:
- 优化1:
- 优化2(调用函数内部的优化):
一 、方法: 1、一般写法直白一点就是说:四年一闰,百年不闰,四百年再闰
#includeint main()
{int year = 0;
int count = 0;
//for循环找出1000-2000的数字
for (year = 1000; year<= 2000; year++)
{//判断并记录其中的闰年,四年一闰,百年不闰,四百年再闰(能被400整除)
if (year % 4 == 0&&(year % 100 != 0))//能被4整除且不能被100整除
{ printf("%d ", year);
count++;
}
if (year % 400 == 0)或者能被400整除
{ printf("%d ", year);
count++;
}
}
printf("\ncount = %d\n", count);
return 0;
}
2、 调用函数法根据调用函数的返回值来判断
#includeint is_leap_year(int n)
{if ((n % 4 == 0 && n % 100 != 0) || (n % 400 == 0))
return 1;
else
return 0;
}
int main()
{int y = 0; int count = 0;
for (y = 1000; y<= 2000; y++)
{if (is_leap_year(y) == 1)//是闰年返回1,不是返回0
{ printf("%d\n", y);
count++;
}
}
printf("\ncount = %d", count);
return 0;
}
二、 代码优化:
优化1:使用if语句将两种情况并列起来:if ((情况一)||(情况二))
for循环内部代码修改为:
if (((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0))
{ printf("%d\n", year);
count++;
}
优化2(调用函数内部的优化):调用函数时根据两种情况(为或)逻辑值直接返回
一般返回:
int is_leap_year(int n)
{if ((n % 4 == 0 && n % 100 != 0) || (n % 400 == 0))
return 1;
else
return 0;
}
优化返回:
int is_leap_year(int n)
{return ((n % 4 == 0 && n % 100 != 0) || (n % 400 == 0));
}
你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧
本文名称:[C语言]【输出1000-2000年的闰年】-创新互联
标题来源:http://pwwzsj.com/article/djopcs.html