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