第一题,C语言编程,用的是Vc++6.0,要具体的过程

 我来答
和小叙
推荐于2016-06-13 · TA获得超过436个赞
知道小有建树答主
回答量:417
采纳率:0%
帮助的人:193万
展开全部
#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;
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式