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整除的年份即为闰年。
由于逻辑运算符逻辑与和逻辑或的关系。这两个逻辑运算符都进行阻断操作。也就是说
&&操作符。如果第一个表达式不成立的话,这个操作到此就结束了,不会去验证后面的表达式是否成立。而逻辑或也是,当地一个表达式成立,也不会验证第二个表达式是否成立。由于阻断操作的存在,给执行效率方面提供了很大的便利。可以减少很多不必要的操作。
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语言 根据输入的年份和月份,判断输出是不是闰年和该月的天数,很急,谢谢!