c语言关于计算闰年的程序

求 一个 是闰年返回值为1,不是的话返回值为0的函数,计算从2001年起到2999年,哪年是润年的函数的c语言程序。
%./a.out
2001 leap=0
2002 leap=0
2003 leap=0
2004 leap=1
...
2999 leap=0
242个闰年
%
并且利用这个函数算从今天开始10000天之前是几年几月几日
不胜感激。。

#include<stdio.h>

#pragma warning (disable:4996)

int  runnian(int n)

{

if (((n%100!=0) && (n%4==0)) || ( n % 400==0) )

{

return 1;

}

else

{

return 0;

}

}

int main()

{

int i = 0;

int t = 0;

printf("请输入一个年份:");

scanf("%d", &i);

t =runnian(i);

if (t == 1)

{

printf("%d  是闰年\n", i);

}

else

{

printf("%d  不是闰年\n", i);

}

return 0;

}

扩展资料:

判断标准为

1、能整除4且不能整除100。

2、能整除400。

缘由

1、产生闰年原因:地球绕太阳运行周期为365天5小时48分46秒(合365.24219天)即一回归年(tropical year)。公历的平年只有365日,比回归年短约0.2422 日,所余下的时间约为四年累计一天,故四年于2月加1天,使当年的历年长度为366日,这一年就为闰年。

2、上面算法又有了一个问题,就是0.2422*4=0.9688,比一天还差0.0322天,每4年差0.0322天不算多,但每400年就会差了约3天。即是说,假如每4年一个闰年,那么每400年就会有100个闰年,然后会多算了3天。

所以,就规定了每四百年中要减少三个闰年。公历年份是整百数的,必须是400的倍数的才是闰年,不是400的倍数的,虽然是100的倍数,也是平年。

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-10-04

闰年就是能被4整除不能被100整除或者能被400整除的年份,可以使用if语句判断:((year%4==0&&year%100!=0)||year%400==0)。

参考代码:

#include "stdio.h"
int fun(int year){
if((year%4==0&&year%100!=0)||year%400==0) return 1;
return 0;

int main()
{
int i,sum=0;
for(i=2001;i<=2999;i++)
if(fun(i)){
printf("%d leap=1\n",i);
sum++;
}
else printf("%d leap=0\n",i);
printf("%d个闰年\n",sum);       
}
/*
运行结果:
2001 leap=0
2002 leap=0
...
2999 leap=0
242个闰年
*/

第2个回答  2020-10-29
我用的是DEVC++软件,还有其他很多的软件可以用于编程,我就不一一讲了,我习惯用的就是这样子的一个编译器,挺好用的,关于这个计算润年的程序,我分享了我的代码程序可以给你们参考一下,有更好的意见可以跟我说哦,我这个思路比较简单也比较容易看得懂,你们要是有看不懂的可以问我,我会热情回答的,爱你们哦

第3个回答  2020-04-16
闰年就是能被4整除不能被100整除或者能被400整除的年份,可以使用if语句判断:((year%4==0&&year%100!=0)||year%400==0)。
参考代码:
#include "stdio.h"
int fun(int year){
if((year%4==0&&year%100!=0)||year%400==0) return 1;
return 0;
}
int main()
{
int i,sum=0;
for(i=2001;i<=2999;i++)
if(fun(i)){
printf("%d leap=1\n",i);
sum++;
}
else printf("%d leap=0\n",i);
printf("%d个闰年\n",sum);
}
/*
运行结果:
2001 leap=0
2002 leap=0
...
2999 leap=0
242个闰年
*/
第4个回答  推荐于2017-10-07
#include "iostream.h"

int leapnum;
void main(int argc, char* argv[])
{
for(int i=2001;i<=2999;i++ )
{
if ((i%4==0&&i%100!=0)||i%400==0)
{
cout<<i<<"leap=1"<<endl;
leapnum++;
}
else
{
cout<<i<<"leap=0"<<endl;
}
}
cout<<leapnum<<"个闰年"<<endl;
}
//公元1年1月1日是星期一,闰年是366(二月29天)天平年365天(二月28天)
//1,3,5,7,8,10,腊有31天
//((year%4==0&&year%100!=0)||year%400==0)是判断闰年的条件
//先判断是否可以被4整除,如果不可以,不是闰年,如果可以,
//继续判断,看是否可以被100整除,如果不可以,则是闰年,如1996.
//如果可以被100整除,继续判断,看是否可以被400整除,如果可以则是闰年,
//如果不可以,则不是,如1900可以被4整除,继续判断,可以被100整除,继续判断,
//不可以被400整除,则不是,2000年则是闰年。

联系方式:zhangzhd@neusoft.com本回答被提问者采纳

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网