【C语言】输出1000年到2000年之间的闰年
2016-07-24 14:07
656 查看
题目要求
编写C语言程序.实现输出1000年——2000年之间的闰年.算法分析
我们要想用C语言程序输出1000年——2000年之间的闰年,我们只需判断某个年份是否闰年,然后循环1000次就可以了.而判断某个年份是否闰年,需要两个条件:
1.该年份可以被4整除但不能被100整除.
2.该年份可以被400整除.
算法总结
本题算法极其简单,我就再唠叨一遍,这个程序分为两步走:一、判断某个年份是否闰年.
二、循环判断1000次,遇到闰年输出.
判断闰年需要两个条件:
1.该年份可以被4整除但不能被100整除
2.该年份可以被400整除.
算法转程序
我们先来实现第一步:判断某个年份是否闰年.为了提高代码的重复利用性,我们把第一步要做的事情封装成一个简单的函数.
首先我们来思考,这个函数的原型.
函数返回值:因为外部程序需要一个值来判断是否闰年,因此必须得有返回值。我们就假定为如果是闰年,该函数返回1;不是闰年返回0.返回值类型为int.
函数名:这个我们就起为IsLeapYear吧!
函数参数:我们需要判断某个年份是否闰年,我们肯定需要接受一个年份的形式参数.我们就设它为y,类型为unsigned int.
最终的函数原型:int IsLeapYear(unsigned int y);
然后我们开始为这个函数填充代码.
(因为代码实在是太简单了,我就直接贴出来吧!)
核心代码如下:
int IsLeapYear(unsigned int y){ //y能被4整除但不能被100整除 或 y能被400整除 if(((y%4==0)&&(y%100!=0))||(y%400==0)){ return 1; //闰年 }else{ return 0; //非闰年 } }
第二步,让这个函数循环跑起来,输出闰年.
(这个代码也是简单的不行,我还是直接贴出来吧!)
核心代码
int i = 0; //定义一个循环变量,并初始化为0. //初始化为1000,当i小于等于2000时进入循环体,每循环一次i自增1 for(i=1000;i<=2000;i++){ //如果i是闰年 if(IsLeapYear(i)){ //输出i printf("%d ",i); } }
完整代码
#include<stdio.h> #include<stdlib> //自定义一个判断闰年的函数 int IsLeapYear(unsigned int y){ //y能被4整除但不能被100整除 或者 y能被400整除 if(((y%4==0)&&(y%100!=0))||(y%400==0)){ return 1; //闰年 }else{ return 0; //非闰年 } } int main(){ //修改控制台字体颜色为绿色 system("color 2"); //定义一个循环变量,并初始化为0. int i = 0; //初始化为1000,当i小于等于2000时进入循环体,每循环一次i自增1 for(i=1000;i<=2000;i++){ //如果i是闰年 if(IsLeapYear(i)){ //输出i printf("%d ",i); } } return 0; }
本文来自于高小调博客-(http://gaoxiaodiao.com),如需转载,请注明出处.
相关文章推荐
- 简单的程序
- 008.判断闰年
- JS和C语言判断闰年
- 判断闰年
- 【C/C++】判断一个数是不是闰年
- C 文件读写(以判断闰年为例)
- C语言:典型小程序
- 如何判断闰年
- 判断1000-2000之间的闰年
- C、C++数据类型(int, long, short, char, long long) 的取值范围、最大最小值:climits 里的一些宏
- 【C语言】输出九九乘法口诀表
- cublas中执行矩阵乘法运算的函数 首先要注意的是cublas使用的是以列为主的存储方式,和c/c++中的以行为主的方式是不一样的。处理方法可参考下面的注释代码
- Using BLAS and LAPACK from C/C++
- c++ 重载 覆盖 隐藏特征分析
- C语言和python全局变量的一些区别
- 单片机关键字sfr和sbit的理解
- 三人行之C从零开始
- 1029. 旧键盘(20)
- 1027. 打印沙漏(20)
- C语言位运算