看板 EE_DSnP 關於我們 聯絡資訊
我希望讓輸入的數字不滿9位數的前方補0,但只想的到打8個判斷式再決定補幾個0, 有比較有效率的方法嗎? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.236.234
timrau:for(unsigned i = 100000000; i > 1; i /= 10) 10/23 23:32
timrau: if(number < i) cout << '0'; 10/23 23:33
timrau:(其實打八個判斷式會比較快一點點點點) 10/23 23:34
ric2k1:for (unsigned l = number; l < 100000000; l *= 10) 10/23 23:37
ric2k1: cout << '0'; 10/23 23:37
ric2k1:是這個意思嗎? 10/23 23:38
ilway25:另 #include <cmath> 10/23 23:38
ilway25:for(int i=0;i<8-log10(num);i++) cout << '0'; 10/23 23:41
INsoarDEEP:就是說我要的位數是9位,輸入的數不滿9位的話,可以自 10/23 23:59
INsoarDEEP:動補上足位的0嗎? 10/24 00:00
INsoarDEEP:作業真的好難Q_Q 好多都不會 10/24 00:37
lionel20002:可以用replace 10/24 02:11
lionel20002:string final="000000000" 10/24 02:12
lionel20002:string origin; 10/24 02:14
lionel20002:cin>>origin; 10/24 02:15
lionel20002:int i = orgin.size(); 10/24 02:15
lionel20002:final.replace(9-i,i,orgin); 10/24 02:17