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

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

推荐于2019-10-22 · 繁杂信息太多,你要学会辨别
知道小有建树答主
回答量:1227
采纳率:100%
帮助的人:34.8万
展开全部

#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的倍数,也是平年。

985967518
推荐于2017-10-04 · 知道合伙人教育行家
985967518
知道合伙人教育行家
采纳数:18027 获赞数:109867
14年本科毕业于河南理工大学,至今就读于河南理工大学攻读硕士学位,从事编程学习已有5年。

向TA提问 私信TA
展开全部

闰年就是能被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个闰年
*/
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
浦木um
2020-10-29
知道答主
回答量:0
采纳率:0%
帮助的人:0
展开全部
我用的是DEVC++软件,还有其他很多的软件可以用于编程,我就不一一讲了,我习惯用的就是这样子的一个编译器,挺好用的,关于这个计算润年的程序,我分享了我的代码程序可以给你们参考一下,有更好的意见可以跟我说哦,我这个思路比较简单也比较容易看得懂,你们要是有看不懂的可以问我,我会热情回答的,爱你们哦

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
及水风白央
2020-04-16 · TA获得超过3万个赞
知道大有可为答主
回答量:1.1万
采纳率:33%
帮助的人:942万
展开全部
闰年就是能被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个闰年
*/
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
推荐于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
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式