TopCoder算法竞赛题1:SRM 144 DIV 2, 250-point

Problem Statement

Computers tend to store dates and times as single numbers which represent the number of seconds or milliseconds since a particular date. Your task in this problem is to write a method whatTime, which takes an int, seconds, representing the number of seconds since midnight on some day, and returns a String formatted as "<H>:<M>:<S>". Here, <H> represents the number of complete hours since midnight, <M> represents the number of complete minutes since the last complete hour ended, and <S> represents the number of seconds since the last complete minute ended. Each of <H>, <M>, and <S> should be an integer, with no extra leading 0's. Thus, if seconds is 0, you should return "0:0:0", while if seconds is 3661, you should return "1:1:1".

 

Definition

Class: Time

Method: whatTime

Parameters: int

Returns: String

Method signature: String whatTime(int seconds)

 

Constraints

seconds will be between 0 and 24*60*60 - 1 = 86399, inclusive.

 

Examples

0)

0

Returns: "0:0:0"

 

1)

3661

Returns: "1:1:1"

 

2)

5436

Returns: "1:30:36"

 

3)

86399

Returns: "23:59:59"

(be sure your method is public)

 

Source code

#include<iostream>

using namespace std;

#include<string.h>

 

class Time

{

public:

      string whatTime(int seconds)

      {

           int h = seconds/3600;

           int m = seconds/60%60;

           int s = seconds%60;

           char str[64];

           sprintf(str, "%d:%d:%d",h,m,s);

           string ret = str;

//         cout<<str<<endl;

           return ret;

      }

};

 

void main()

{

      Time time;

//   time.whatTime(0);

//   time.whatTime(3661);

//   time.whatTime(5436);

      time.whatTime(86399);

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值