微博上有个自称“大笨钟V”的家伙,天天敲钟催促码农们爱惜身体早点睡觉。不过因为笨钟本身做息也不是很规律,因此敲钟并不定时。通常敲钟的点数是根据敲钟时间而定的,若是正好在某个整点敲,那么“当”数就等于那个整点数;若是过了整点,就敲下一个整点数。另外,虽然一天有24小时,钟倒是只在后半天敲1~12下。例如在23:00敲钟,就是“当当当当当当当当当当当”,而到了23:01就会是“当当当当当当当当当当当当”。在午夜00:00到中午12:00期间(端点时间包括在内),笨钟是不敲的。ios
下面就请你写个程序,根据当前时间替大笨钟敲钟。web
输入第一行按照hh:mm的格式给出当前时间。其中hh是小时,在00到23之间;mm是分钟,在00到59之间。数组
根据当前时间替大笨钟敲钟,即在一行中输出相应数量个Dang。若是不是敲钟期,则输出:svg
Only hh:mm. Too early to Dang.
其中hh:mm是输入的时间。spa
19:05
DangDangDangDangDangDangDangDang
string::iterator it;//迭代器 for(it=s.begin();it<s.end();it++)//遍历字符串去掉: { if(*it==':') { s.erase(it);//去除: it--;//从新扫描第三个字符 } }
n=atoi(s.c_str());//字符串数字化
注意此处要把字符串string变为字符数组char。code
#include <iostream> #include<string> #include<stdlib.h> using namespace std; int main() { int n,i=0;//n为hhmm,i控制dang的次数 string s,s1; cin>>s; s1=s;//s1保持原样,s会改动 string::iterator it;//迭代器 for(it=s.begin();it<s.end();it++)//遍历字符串去掉: { if(*it==':') { s.erase(it);//去除: it--;//从新扫描第三个字符 } } n=atoi(s.c_str());//字符串数字化 if(n<=1200) cout<<"Only "<<s1<<". Too early to Dang."; else { if(n%100==0) i=n/100-12; else i=n/100-11; } for(int s=0;s<i;s++) cout<<"Dang"; return 0; }