输入年月日时分秒,要求输出该年月日时分秒的下一秒,如果输出2004年12月31日59分59秒,输出2005年1月1日0时0分0秒

#include<stdio.h>
#include<stdlib.h>

int judgeIsLeap(int year)    //判断是不是闰年
{
	return (year%400 == 0)||((year%4 == 0)&&(year%100 != 0));
}

int countMonthDay(int mon,int yea)   //输出一个月包含的天数
{
	switch(mon)
	{
		case 1:
		case 3:
		case 5:
		case 7:
		case 8:
		case 10:
		case 12:
		{
			return 31;
		}
		case 2:
		{
			if(judgeIsLeap(yea)) //是闰年2月29天
			{
				return 29;
			}

			return 28;
		}
	}

	return 30;
}

void printDateNextSec(int yea,int mon,int day,int hou,int min,int sec)   //输出日期的下一秒
{
	if((++sec) >= 60)
	{
		sec = 0;
		if((++min) >= 60)
		{
			min = 0;
			if((++hou) >= 24)
			{
				hou = 0;
				if((++day) >= countMonthDay(mon,yea))
				{
					day = 1;
					if((++mon) >= 12)
					{
						mon = 1;
						yea++;
					}
				}
			}
		}
	}

	printf("该日期的下一秒:%d年%d月%d日%d时%d分%d秒\n",yea,mon,day,hou,min,sec);

}

int main()
{
	int yea = 0;
	int mon = 0;
	int day = 0;
	int hou = 0;
	int min = 0;
	int sec = 0;
	printf("请输入日期:空格录入:");
	scanf("%d%d%d%d%d%d";&yea,&mon,&day,&hou,&min,&sec);

	printDateNextSec(yea,mon,day,hou,min,sec);
	return 0;
}


  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值