zoukankan      html  css  js  c++  java
  • 2 时间转换2

    2 时间转换2

    作者: Turbo时间限制: 1S章节: 分支结构

    问题描述 :

    给定一个t,将t秒转化为DD days HH:MM:SS的形式,表示DD天HH小时MM分钟SS秒。

    HH,MM,SS均是两位数,如果小于10用0补到两位。

    如果大于等于2天,则输出DD days HH:MM:SS,比如 2 days 01:05:12

    如果大于等于1天并小于2天,则输出 1 day HH:MM:SS,比如 1 day 01:05:12

    如果大于等于1小时并小于1天,则只输出HH:MM:SS,比如 01:05:12

    如果大于等于1分钟并小于1小时,则只输出MM:SS,比如 01:00

    如果大于等于10秒并小于1分钟,则只输出SS,比如 10

    如果小于10秒,则只输出一位,表示秒数,比如 9

    输入说明 :

    输入一个数t,表示时间的秒数。

    0<=t<1002460*60。

    输出说明 :

    输出格式形如:

    86 days 00:02:12

    表示86天0小时2分12秒。

    其中“days”前后各有一个空格,行尾没空格。

    详细描述见上。

    输入范例 :
    8003045
    输出范例 :
    92 days 15:04:05

    #include <cstdio>
    #include <iostream>
    #include <string>
    using namespace std;
    int main()
    {
    	int t;
    	cin >> t;
    	string str1 = " days ", str2 = " day ";
    	int DD, HH, MM, SS;
    	int d = 24 * 60 * 60, h = 60 * 60, m = 60;
    	DD = t / d;
    	t -= DD*d;
    	HH = t / h;
    	t -= HH*h;
    	MM = t / m;
    	t -= MM*m;
    	SS = t;
    	if (DD >= 2)
    	{
    		cout << DD << str1;
    		printf("%02d:%02d:%02d
    ", HH, MM, SS);
    	}
    	else if (DD == 1)
    	{
    		cout << DD << str2;
    		printf("%02d:%02d:%02d
    ", HH, MM, SS);
    	}
    	else//DD==0
    	{
    		if (HH >= 1)
    		{
    			printf("%02d:%02d:%02d
    ", HH, MM, SS);
    		}
    		else//HH==0
    		{
    			if (MM >= 1)
    			{
    				printf("%02d:%02d
    ", MM, SS);
    			}
    			else//MM==0
    			{
    				cout << SS << endl;
    			}
    		}
    	}
    	return 0;
    }
    
    Yesterday is history,tomorrow ismystery,but today is a gift!That why it is called Present!
  • 相关阅读:
    函数声明、引用
    事件绑定的快捷方式 利on进行事件绑定的几种情况
    BOM的节点方法和属性
    JQuery语法 JQuery对象与原生对象互转 文档就绪函数与window.onload的区别
    JPEG解码:huffman解码
    Quartus 中快速分配器件管脚
    PLL的modelsim仿真
    JPEG解码:桶型寄存器
    JPEG解码:反DCT变换(二)
    JPEG解码:反DCT变换(一)
  • 原文地址:https://www.cnblogs.com/VictorierJwr/p/12861232.html
Copyright © 2011-2022 走看看