时间换算。。。。。

原始代码:

#include<stdio.h>
struct shi{
	int h,m,s;
};
int main()
{
	struct shi a,b;
	int n;
	scanf("%d",&n);
	scanf("%d%d%d",&a.h ,&a.m ,&a.s );
	if(n + a.s <60){
		a.s = a.s+n;
	}
	else {
	      if(a.m + 1 < 60){
		  a.m += 1;
		  a.s = a.s + n - 60;
	      }
	      else{
	      	if(a.h+1 < 24){
	      		a.h +=1;
	      		a.m = 0;
	      		a.s = a.s + n -60;
			  }
			  else{
			  	a.h = 0;
			  	a.m = 0;
			  	a.s = a.s + n -60;
			  }
		  }
	      
       }
       printf("h:%d m:%d s:%d",a.h,a.m,a.s );
       return 0;
}

修改之后:

#include<stdio.h>
struct shi{
	int h,m,s;
};
int main()
{
	struct shi a,b;
	int n;
	scanf("%d",&n);
	scanf("%d%d%d",&a.h ,&a.m ,&a.s );
	a.s += n;
	if(a.s >= 60){//不用写a.s<60,因为这样h,m都不变,只需考虑a.s>=60的情况 
		a.s -= 60;//也可以写成 a.s=a.s%60 
		a.m += 1;
		if(a.m >= 60){//同样不需要考虑a.m《60的情况 
			a.m -= 60;
			a.h = (a.h + 1) % 24;//最后不用再判断a.h是否<24了【24进制】 
		}
	}
       printf("h:%d m:%d s:%d",a.h,a.m,a.s );
       return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值