數字分隔(二)
時間限制:
1000 ms | 記憶體限制:
65535 kb 難度:
3 描述
在乙個遙遠的國家,銀行為了更快更好的處理使用者的訂單,決定將一整串的數字按照一定的規則分隔開來,分隔規則如下:
1、實數的整數部分按照每三個數字用逗號分隔開(整數部分的高位有多餘的0時,需先將多餘的0過濾後,再進行數字分隔,如:0001234567 輸出結果為1,234,567.00)
2、小數部分保留兩位小數(四捨五入)
3、如果該數是負的,則在輸出時需用括號將分隔後的數字括起來,例如:-10005.1645的輸出結果為(10,005.16)
輸入
多組測試資料,每行輸入乙個實數n(n的位數小於100)
輸出輸出分隔後的結果
樣例輸入
0001234567
0.0000
-10005.1645
樣例輸出
1,234,567.
000.00
(10,005.16)
分析:
按照題意轉化為字串,然後處理進製,小數,模擬得到結果!
#include#includechar b[110];
int main()
len=strlen(b);
if(ch=strchr(b,'.'))//查詢字串中首次出現.的位置
d=ch-b;
else
d=len;
if(len-d>3)//處理進製
}i=d-1;
while(b[i]>'9')
}b[d+3]='\0';
}else if(len-d==2)//如果有一位小數,加0
else if(len-d==1)//如果只有小數點,再加00
else if(len-d==0)//如果沒有小數點,就直接加.00
for(l=0; b[l]=='0'; ++l);//除去前導0
if(b[l]=='.')//輸出整數部分
--l;
if(s)
putchar('(');
while(l
NYOJ 1092數字分割
數字分隔 二 時間限制 1000 ms 記憶體限制 65535 kb 難度 3描述 在乙個遙遠的國家,銀行為了更快更好的處理使用者的訂單,決定將一整串的數字按照一定的規則分隔開來,分隔規則如下 1 實數的整數部分按照每三個數字用逗號分隔開 整數部分的高位有多餘的0時,需先將多餘的0過濾後,再進行數字...
NYOJ1092數字分隔(二)(水水)
參照了別人的思路。include include const int maxn 120 char s maxn int main if point strchr s,else pt len printf len pt d n len pt if len pt 3 處理進製 如果小數字大於等於3位 i...
1092 最好吃的月餅 (20 分)
我的部落格現在正在更新乙級題解哦 我的部落格 菜雞的我又來二刷了 includeusing namespace std int base 1010 int main int max base 0 for int i 1 i m i int k 0 int ans 10010 for int i 1 ...