习题9-1 时间换算

题目:

习题9-1 时间换算 (15分)

题目要求:

本题要求编写程序,以hh:mm:ss的格式输出某给定时间再过n秒后的时间值(超过23:59:59就从0点开始计时)。

输入格式:

输入在第一行中以hh:mm:ss的格式给出起始时间,第二行给出整秒数n(<60)。

输出格式:

输出在一行中给出hh:mm:ss格式的结果时间。

输入样例:

11:59:40
30

输出样例:

12:00:10

解题代码:

#include<stdio.h>
int main()
{
	int hh, mm, ss;
	scanf( "%d:%d:%d", &hh, &mm, &ss );
	
	int n;
	scanf( "\n%d",&n );
	
	if( ss + n < 60 ) ss = ss + n;
	
	else if( ss + n >= 60 && mm + 1 < 60 )
	{
		ss = ss + n - 60;
		mm = mm + 1;
	}
	
	else if ( ss + n >= 60 && mm + 1 == 60 && hh + 1 < 24 ) //题中已限制n<60,故此处mm+1不会大于60 
	{
		ss = ss + n -60;
		mm = 0;
		hh = hh+1; 
	}
	
	else if ( ss + n >= 60 && mm + 1 == 60 && hh + 1 == 24 )
	{
		ss = ss + n - 60;
		mm = 0;
		hh = 0;
	}
	
	
	if( hh == 0 && mm != 0 && ss != 0 )
	{
		if( mm > 9 && ss > 9 )
			printf( "00:%d:%d\n", mm, ss );
		else if( mm > 9 && ss < 9 )
			printf( "00:%d:0%d\n", mm, ss );
		else if( mm < 9 && ss < 9 )
			printf( "00:0%d:0%d\n", mm, ss );
	}
		
		
	else if( hh != 0 && mm == 0 && ss != 0 )
	{
		if( hh > 9 && ss > 9 )
			printf( "%d:00:%d\n", hh, ss );
		else if( hh > 9 && ss < 9 )
			printf( "%d:%d:0%d\n", hh, ss );
		else if( hh < 9 && ss < 9 )
			printf( "0%d:0%d:0%d\n", hh, ss );
	}
		
		
	else if( hh != 0 && mm != 0 && ss == 0 )
	{
		if( hh > 9 && mm > 9 )
			printf( "%d:%d:00\n", hh, mm );
		else if( hh > 9 && mm < 9 )
			printf( "%d:0%d:00\n", hh, mm );
		else if( hh < 9 && mm < 9 )
			printf( "0%d:0%d:00\n", hh, mm );
	}
	
	else if( hh == 0 && mm == 0 && ss != 0 )
	{
		if( ss > 9 )
			printf( "00:00:%d\n",ss );
		else if( ss < 9 )
			printf( "00:00:0%d\n", ss );
	}
	
	else if( hh == 0 && mm != 0 && ss == 0 )
	{
		if( mm > 9 )
			printf( "00:%d:00\n",mm );
		else if( mm < 9 )
			printf( "00:0%d:00\n", mm );
	}
		
	else if( hh != 0 && mm == 0 && ss == 0 )
	{
		if( hh > 9 )
			printf( "%d:00:00\n", hh );
		else if( ss < 9 )
			printf( "0%d:00:00\n", hh );
	}
		
	else if( hh == 0 && mm == 0 && ss == 0 )
		printf( "00:00:00\n" ); 
		
	else if( hh != 0 && mm != 0 && ss != 0 )
	{
		if( hh > 9 && mm > 9 && ss > 9 )
			printf( "%d:%d:%d\n", hh, mm, ss );
		else if( hh > 9 && mm >9 && ss < 9 )
			printf( "%d:%d:0%d\n", hh, mm, ss );
		else if( hh > 9 && mm < 9 && ss < 9 )
			printf( "%d:0%d:0%d\n", hh, mm, ss );
		else if( hh < 9 && mm < 9 && ss < 9 )
			printf( "0%d:0%d:0%d\n", hh, mm, ss );
		else if( hh < 9 && mm > 9 && ss > 9 )
			printf( "0%d:%d:%d\n", hh, mm, ss );
		else if( hh < 9 && mm > 9 && ss < 9 )
			printf( "0%d:%d:0%d\n", hh, mm, ss );
		else if ( hh < 9 && mm <9 && ss <9 )
			printf( "0%d:0%d:0%d\n", hh, mm, ss );
		else if ( hh < 9 && mm < 9 && mm > 9 )
		 printf( "0%d:0%d:%d\n", hh, mm, ss );
	}

	return 0;		
}

 


版权声明:本文为m123c原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。