给定年份year定义一个宏,判别是否闰年,这题怎么用c语言编写?

如题所述

#include"stdio.h"
#define fact (year%4==0&&year%100!=0)||year%400==0
void main()
{
int year;
puts("Enter year");
scanf("%d",&year);
if(fact)
printf("%d 是闰年\n",year);
else
printf("%d 不是闰年\n",year);
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-06-15
public class B {

public static boolean isRun(int year)
{
return (year % 4 != 0 )|| (year % 100 == 0 )&& (year % 400 != 0);

}

public static void main(String[] args) {
Scanner input=new Scanner(System.in);
int year;
System.out.printf("你输入的年份是:%s", year=input.nextInt());

if(isRun(year)){
System.out.print("(是闰年)");
}
else{
System.out.print("(不是闰年)");
}

}

}

直接运行这个程序即可!本回答被网友采纳
第2个回答  2013-10-27
就是判断此年是否能被4和100整除就可以了
x接受输入的年份

int i=x%4;
int ii=x%100
if(i==0 && ii==0)
则是瑞年,否则不是瑞年
第3个回答  2017-06-15
使用三目运算符,闰年返回1,非闰年返回0
#define ISLEAP(y) (( (y%4 == 0) && (y%100) != 0 ) || (y % 400 == 0)) ? 1 : 0
第4个回答  2013-10-27
谭浩强版《C语言程序设计》第三版里有这个题,可以去看下。
相似回答