L1-018 大笨钟 (10分)

L1-018 大笨钟 (10分)

微博上有个自称“大笨钟V”的家伙,每天敲钟催促码农们爱惜身体早点睡觉。不过由于笨钟自己作息也不是很规律,所以敲钟并不定时。一般敲钟的点数是根据敲钟时间而定的,如果正好在某个整点敲,那么“当”数就等于那个整点数;如果过了整点,就敲下一个整点数。另外,虽然一天有 (24) 小时,钟却是只在后半天敲 (1 sim 12) 下。例如在 (23:00) 敲钟,就是“当当当当当当当当当当当”,而到了 (23:01) 就会是“当当当当当当当当当当当当”。在午夜 (00:00) 到中午 (12:00) 期间(端点时间包括在内),笨钟是不敲的。
下面就请你写个程序,根据当前时间替大笨钟敲钟。

输入格式:

输入第一行按照 hh:mm 的格式给出当前时间。其中 hh 是小时,在 (00)(23) 之间;mm 是分钟,在 (00)(59) 之间。

输出格式:

根据当前时间替大笨钟敲钟,即在一行中输出相应数量个 Dang。如果不是敲钟期,则输出:
Only hh:mm. Too early to Dang.
其中 hh:mm 是输入的时间。

输入样例1:

19:05

输出样例1:

DangDangDangDangDangDangDangDang

输入样例2:

07:05

输出样例2:

Only 07:05.  Too early to Dang.

代码:

#include<bits/stdc++.h>
using namespace std;
int h,m;
char x;
int main()
{
    cin>>h>>x>>m;
    if(h<12||(h==12&&!m))
    {
        cout<<"Only "<<setw(2)<<setfill('0')<<h
            <<':'<<setw(2)<<setfill('0')<<m
            <<".  Too early to Dang."<<endl;
        return 0;
    }
    h+=(m>0)-12;
    for(int i=1;i<=h;i++)cout<<"Dang";
    return cout<<endl,0;
}
原文地址:https://www.cnblogs.com/LengYun/p/13136614.html