源代码如下:
#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。
源程序代码如下:
#include <iostream>
using namespace std
int main()
{
int year, month//定义年份月份
double a, b, c//用于判断的变量
cout <<"请输入年份 月份:"//文字提示输入年份月份
cin >>year >>month//输入年份月份
a = year % 4//能否被4整除
c = year % 100//能否被100整除
b = year % 400//能否被400整除
if (((a == 0) &&(c != 0)) || (b == 0))//判断
{
switch (month)//大月1357811
case 1:
case 3:
case 5:
case 7:
case 9:
case 11:
{
cout <<"本月有31天" <<endl
break
}
switch (month)//小月4681012
case 4:
case 6:
case 8:
case 10:
case 12:
{
cout <<"本月有30天" <<endl
break
}
switch (month)//判断闰年否
case 2:
{
cout <<"本月有29天" <<endl
break
}
}
else
{
switch (month)//大月1357811
case 1:
case 3:
case 5:
case 7:
case 9:
case 11:
{
cout <<"本月有31天" <<endl
break
}
switch (month)//小月4681012
case 4:
case 6:
case 8:
case 10:
case 12:
{
cout <<"本月有30天" <<endl
break
}
switch (month)//判断闰年否
case 2:
{
cout <<"本月有28天" <<endl
break
}
}
return 0
}
程序运行结果如下:
扩展资料:
其他实现方法:
#include stdio.h
#include stdlib.h
void main()
{
int year, month, days
printf(输入年份:)
scanf(%d,year)
printf(输入月份:)
scanf(%d, month)
switch(month)
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
days=31
break
case 4:
case 6:
case 9:
case 11:
days=30
breakcase 2:
if(year%4==0 year%100!=0 || year%400==0// 判断闰年
days=29
else days=28
break
default:
printf(月份输入错误!\n)
exit(1)
break}
printf(天数:%d\n, days)
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)