C语言程序(判断每月天数以及是不是为闰年)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言程序(判断每月天数以及是不是为闰年)相关的知识,希望对你有一定的参考价值。

要求是判断每个月有多少天以及判断此年是否为闰年!

源代码如下:

#include <stdio.h>

int main()

int year;

printf("输入年份: ");

scanf("%d",&year);

if(year%4 == 0)

if( year%100 == 0)

// 这里如果被 400 整数是闰年

if ( year%400 == 0)

printf("%d 是闰年", year);

else

printf("%d 不是闰年", year);

else

printf("%d 是闰年", year );

else

printf("%d 不是闰年", year);

return 0;

扩展资料

1、判断输入的年份是否为闰年,自定义函数 leap() 来进行判断。该函数的核心内容就是闰年的判断条件即能被 4 整除但不能被 100 整除,或能被 400 整除。

2、求输入日期距 2011 年 1 月 1 日有多少天。首先判断 2011 年距输入的年份有多少年,这其中有多少年是闰年就将 sum 加多少个 366,有多少年是平年便将 sum 加上多少个 365。

参考技术A

定义一个12个月的每月天数数组,根据输入的年号判断其是否为闰年,并根据判断结果对2月份的天数给予修正。然后以输入的月份数为下标直接输出数组元素即为所求每月天数。代码如下:

#include "stdio.h"
int main(int argc,char *argv[])
int y,m,a[12]=31,28,31,30,31,30,31,31,30,31,30,31;
printf("Please enter y & m(int y>0, 0<m<13)...\\n");
if(scanf("%d%d",&y,&m)!=2 || y<1 || m<1 || m>12)//输入年份和月份,保证正确
printf("Input error, exit...\\n");
return 0;

a[1] = y%4==0 && y%100 || y%400==0 ? 29 :28;//判断y是否为闰年并调整a[1]的值
printf(a[1]-29 ? "\\n%d is not " : "\\n%d is ",y);
printf("a leap year, month%d is %d days.\\n\\n",m,a[m-1]);
return 0;

运行举例如下图:

参考技术B #include <stdio.h> const int daysOfMonth[] =31,28,31,30,31,30,31,31,30,31,30,31; int isLeapYear(int year); int main(void) int y,m; int days; scanf("%d %d",&y,&m); if(isLeapYear(y) && m == 2) //若为闰年,且输入为2月,则天数为29天days = 29; else days = daysOfMonth[m-1]; printf("%d年的%d月共%d\n",y,m,days); return 0; int isLeapYear(int year) //考虑是否润年 int leap = 0; if(year%100 == 0 && year%400 ==0) leap = 1; else if(year%100 != 0 &&year%4 ==0) leap = 1; return leap; 参考技术C #include<stdio.h>
#include<conio.h>

void main()

int year,month,day;
int flog;
scanf("%d,%d",&year,&month);
flog=1;
switch(month)

case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:day=31;break;
case 4:
case 6:
case 9:
case 11:day=30;break;
case 2: if( (year%4==0 &&(year%100)!=0)||year%400==0)
printf("this is leap year\n");
else
printf("this is not leap year\n");
break;
default :flog=0;

if(flog)
printf("%d",day=28);
else
printf("%d",day=29);
getch();

参考技术D

#include "stdio.h"

int main()

/*****************程序十六********************************************/

int iMonth=0,iDay=0,iYear=0;

int iDayPR=0;

printf("Enter the month you want to know the days: \\n");

printf("Please enter the year: \\n");

printf("Year:");

scanf("%d",&iYear);

printf("Month:");

scanf("%d",&iMonth);

switch (iMonth)

case 1:

case 3:

case 5:

case 7:

case 8:

case 10:

case 12:

iDay=31;

break;

case 4:

case 6:

case 9:

case 11:

iDay=30;

break;

case 2:

iDay=1;

break;

default:

iDay=-1;

break;

if(iDay==1)

if (iYear%4==0)

if (iYear%100 !=0)

iDayPR=29;

else

iDayPR=(iYear%400==0)? 29:28;

else

iDayPR=28;

printf("%d year %d month has %d days.\\n",iYear,iMonth,iDayPR);

else

if(iDay==-1)

printf("There is a error with you enter!\\n");

else

printf("%d year %d month has %d days.\\n",iYear,iMonth,iDay);

return 0;

c语言编程:输入一个年份,判断其是不是为闰年,并输出判断结果。

#include <stdio.h>

void main()

int y,f;

scanf("%d",&y);

if(y%400==0)

f=1;

else if(y%4 == 0&&y%100!=0)

f=1;

else f=0;

if(f)

printf("%d is",y);

else printf("%d is not",y);

printf(" a leap year\\n");

扩展资料

Java判断输入的年份是否为闰年

public class TestLeapYear

public static void isLeapYear(int year)

boolean flag1=(year%4==0);

boolean flag2=(year%100==0);

boolean flag3=(year%400==0);

if((flag1&&!flag2)||(flag3))

System.out.println(year+" Is Leap Year");

else System.out.println(year+" Is Not Leap year");

public static void main(String[] args)

// TODO 自动生成的方法存根

isLeapYear(1993);

isLeapYear(2000);

isLeapYear(1996);

isLeapYear(1900);

参考技术A

1、打开Visual stdio软件,在空项目里新建一个c语言程序空文件,右键点击源文件,选择添加,点击新建项创建C语言文件:

2、弹出的窗口选择C++文件,将文件扩展名改为“.c”点击添加完成新建c文件,之后就可以编写程序了:

3、程序开始是一个输入框,输入待判断的年份这里闰年的判断需要满足两个条件,分别是如果该年份既能被4整除又不能被100整除,和如果该年份能被400整除,满足任意一个都是闰年输出结果为闰年:

4、最后按下crtl+F5运行程序,输入任意一个年份,即可输出判断结果。以上就是C语言判断闰年的程序演示:

参考技术B #include<stdio.h>
int main()
int a;
scanf("%d",&a);
if(a%4==0&&a%100!=0||a%400==0)
printf("这是一个闰年");

else
printf("这不是一个闰年");

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

按照百科的说法,闰年的定义是能被4整除但不能被100整除,或能被400整除的年份即为闰年。
由于逻辑运算符逻辑与和逻辑或的关系。这两个逻辑运算符都进行阻断操作。也就是说
&&操作符。如果第一个表达式不成立的话,这个操作到此就结束了,不会去验证后面的表达式是否成立。而逻辑或也是,当地一个表达式成立,也不会验证第二个表达式是否成立。由于阻断操作的存在,给执行效率方面提供了很大的便利。可以减少很多不必要的操作。

参考技术C #include<stdio.h>
void main()

int year;
printf("请输入年份:");
scanf("%d",&year);
if((year%4==0&&year/100!=0)||(year%400==0))
printf("%d此年是闰年\n",year);
else
printf("%d此年非闰年\n",year);
本回答被提问者采纳
参考技术D #include <stdio.h>

int main()

int year;

while(1)

printf("输入一个年份(-1退出):");
scanf("%d",&year);

if (-1 == year)
break;

if (0 == year % 400 || (0 == year % 4 && 0 != year % 100))
printf("%d年是闰年\n",year);
else
printf("%d年不是闰年\n",year);


return 0;

以上是关于C语言程序(判断每月天数以及是不是为闰年)的主要内容,如果未能解决你的问题,请参考以下文章

C语言 根据输入的年份和月份,判断输出是不是闰年和该月的天数,很急,谢谢!

任输入一平年的月份,输出该月份对应的天数用C语言怎么写?

C语言如何判断某一年是不是是闰年

c语言:从键盘上输入一个日期,判断输入的日期是不是正确

C语言,使用结构体读入两个在同一年的日期,判断日期是否合法,并计算两个日期之间相差的天数。结构体定义如下:

C语言程序设计判断某一年是不是是闰年