翻阅笔记系列
看以前的笔记,感觉就是 我以前还了解过这个。。。
计算闰年
int year;
scanf("%d",&year);
bool bFlag = year%(year%100?4:400)?false:true;
if(true == bFlag)
{
//是闰年
}
else
{
//非闰年
}
根据年份和月份返回天数
方法1:推荐
//得到每月的天数:
#define MONTH 12
int GetDaysCount(const int year, const int month)
{
char days[MONTH] = {31,28,31,30,31,30,31,31,30,31,30,31};
if (month == 2)
{
bool bFlag = year%(year%100?4:400)?false:true;
if ( bFlag == 1) //29
{
days[1] = 29;
}
}
return days[month-1];
}
方法2:
/////////////得到每月的天数////////////////////
int a ;
int year = 2016;
scanf("%d",&a);
//如果是2月的话判断闰年
if (a == 2 )
{
bool bfalg = year%(year%100?4:400)?false:true;
if (bfalg)
{
printf("29\n");
}
else
{
printf("28\n");
}
}
else
{
bool bfalg = (a%2)?(a<8):(a>=8);
if (bfalg)
{
printf("31\n");
}
else
{
printf("30\n");
}
}
方法3: 推荐
//方法3:更易理解
int days;
switch (a)
{
case 2:
{
bool bfalg = year%(year%100?4:400)?false:true;
if (bfalg)
{
days = 29;
}
else
{
days = 28;
}
break;
}
case 4:
case 6:
case 9:
case 11:
days = 30;
break;
default: //1,3,5,7,8,10,12
days = 31;
break;
}
/////////////////////////////////