作者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