题目:
习题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版权协议,转载请附上原文出处链接和本声明。