彭飞:c语言关于计算闰年的程序
韩静的回答:
#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;
}
耿子的回答:
#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;
}
杨建丽的回答:
#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
宋紫琳的回答:
闰年就是能被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个闰年 */
╱…々約定ル的回答:
这里你是不是写漏了一个 % 号,应该是if( (year % 4 == 0 && year % 100 != 0) || year % 400 == 0)。 判断一个年份是不是闰年的条件是:能被4整除但不能被100整除(所以要用 &&),或者(用 || )能被400整除的数。 下面是语句的解释:&& 表示 ‘与’ 的关系,必须所有条件为真其结果才为真,像这个例子中,需满足year % 4 == 0 和 year % 100 != 0 同时为真 (year % 4 == 0 && year % 100 != 0) 才为真,‘ % ’ 是取余运算符,就是求余数的。 || 表示 ‘或’ 的关系,只要有一个条件为真,他的整个结果都为真了。 对于你说的问题,你要看清条件,是当year % 4 == 0 为真,所以等于 1 当然是假的啦,在‘&&’关系中,因为有一个是假的条件,所以不管后面的是真是假,结果一律都为假了