C语言编程题 输入今天的日期年月日,输出明天的日期

#include <stdio.h>
int main()
{
	int y,m,d;
	printf("请输入年月日:");
	scanf("%d%d%d",&y,&m,&d);
	if(d<=31)
	{
	 switch(m)
  	{
		case 1:
		case 3:
        case 5:
		case 7:
		case 8:
		case 10:
		 d<31?d=d+1:(m=m+1,d=1);
		 printf("明天是%d年%d月%d日",y,m,d);
		 break;
	    case 12:
	     d<31?d=d+1:(y=y+1,m=1,d=1);
	     printf("明天是%d年%d月%d日",y,m,d);
		 break;
		case 4:
        case 6:
		case 9:
		case 11:
		 d<30?d=d+1:(m=m+1,d=1);
		 printf("明天是%d年%d月%d日",y,m,d);
		 break;
		case 2:
		 if((y%4==0&&y%100!=0)||(y%400==0))
		  {
		  	d==29?(d=1,m=3):d=d+1;
		  }
		  else
		  {
		  	d=d+1;
		  }
		 printf("明天是%d年%d月%d日",y,m,d); 
		 break;
		 default : printf("您的输入有误!\n");
	  }
     }
    else if(d>31)
     {
     printf("您的输入有误!\n");	
	 }
    return 0; 
}

新手小白 第一次自己写出来的代码 欢迎大家指正!

  • 7
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
要实现输入今天日期,然后输出明天日期,可以使用C语言中的日期和时间库函数来实现。 首先,我们需要包含<time.h>头文件以使用日期和时间相关的函数。 然后,我们可以使用time_t和tm来存储日期和时间。time_t是从1970年1月1日00:00:00开始计算的秒数,tm结构体包含了年、月、日等详细的日期信息。 接下来,我们可以使用time函数来获取当前时间的time_t值,并使用localtime函数将其转换为tm结构体,获取到今天日期信息。 然后,我们可以将今天日期信息进行处理,将日期加1。由于日期是以0开始计算的,所以将今天日期加1就可以得到明天日期。 最后,我们可以使用strftime函数将明天日期格式化为字符串,并输出出来。 以下是实现该功能的示例代码: ```c #include <stdio.h> #include <time.h> int main() { time_t now; struct tm *today; char tomorrow[11]; // 获取当前时间 time(&now); // 转换为当地时间 today = localtime(&now); // 日期加1 today->tm_mday += 1; // 转换为time_t值 time_t tomorrowTime = mktime(today); // 格式化为字符串 strftime(tomorrow, sizeof(tomorrow), "%Y-%m-%d", localtime(&tomorrowTime)); // 输出明天日期 printf("明天日期是:%s\n", tomorrow); return 0; } ``` 编译并运行该程序,输入今天日期,即可输出明天日期。例如,输入"2022-05-21",则输出"明天日期是:2022-05-22"。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值