第一题,C语言编程,用的是Vc++6.0,要具体的过程
1个回答
展开全部
#include <stdio.h>
/************************************************
*功 能:判断闰年
*参 数:年份
*返回值:0:平年, 1:闰年,
* Ceiba
************************************************/
int JudgeLeapyear(int year)
{
if (year<0)
{
return -1;
}
if (((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0))
{
return 1;
}
else
{
return 0;
}
return 0;
}
/*****************************************
*功 能:判断月份是否合法
*参 数: mon 月份
*返回值:void
*******************************************/
int JudgeMonth(int mon)
{
if ((mon < 1) || (mon > 12))
{
return -1;
}
return 1;
}
/*******************************************************
*功 能:判断是否合法
*参 数:year 年份 mon 月份 date 日
*返回值:void
*****************************************/
int JudgeDay(int year, int mon, int date)
{
int leap;
int ret = 0;
leap = JudgeLeapyear(year);
if (leap == -1)
return -1;
ret = JudgeMonth(mon);
if (ret == -1)
return -1;
if ((date < 1) || (date > 31))
{
return -1;
}
if ((mon == 4) || (mon == 6) || (mon == 9) || (mon == 11))
{
if (date > 30)
{
return -1;
}
}
if (mon == 2)
{
if ((leap && (date>29)) || (!leap && (date>28)))
{
return -1;
}
}
return 1;
}
/********************************************************
* 主函数
***************************************************/
int main()
{
int year, mon, date;
int ret = 0;
printf("请输入日期(yyyy-mm-dd):\n");
scanf_s("%d-%d-%d", &year, &mon, &date);
ret = JudgeDay(year, mon, date);
if (ret == 1)
{
printf("你输入的日期为 %d年%d月%d日", year, mon, date);
}
else
{
printf("你输入的日期不合法!\n");
}
return 0;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询