004 數字反轉

2021-09-22 02:19:56 字數 950 閱讀 8097

給定乙個數,請將該數各個位上數字反轉得到乙個新數。

這次與noip2011普及組第一題不同的是:這個數可以是小數,分數,百分數,整數。整數反轉是將所有數字對調;小數反轉是把整數部分的數反轉,再將小數部分的數反轉,不交換整數部分與小數部分;分數反轉是把分母的數反轉,再把分子的數反轉,不交換分子與分母;百分數的分子一定是整數,百分數只改變量字部分。整數新數也應滿足整數的常見形式,即除非給定的原數為零,否則反轉後得到的新數的最高位數字不應為零;小數新數的末尾不為0(除非小數部分除了0沒有別的數,那麼只保留1個0);分數不約分,分子和分母都不是小數(約分滴童鞋抱歉了,不能過哦。輸入資料保證分母不為0),本次沒有負數。

輸入輸出樣例

輸入樣例#1:

輸出樣例#1:

輸入樣例#2:

600.084

輸出樣例#2:

6.48

輸入樣例#3:

700/27

輸出樣例#3:

7/72

輸入樣例#4:

8670%

輸出樣例#4:

768%

#include#include#include#include#includeusing namespace std;

void p(string a)

{ reverse(a.begin(),a.end());

for(int i=0;a[i]=='0';)

a.erase(0,1);

if(a[0]=='\0')

a='0';

cout《下面介紹一下這題用到的函式

①反轉函式

reverse(a.begin(),a.end());

用於string類,將字元轉反轉

②刪除函式

c.erase(0,1);
從位置0開始,刪除乙個字元,也用於string類

004 反轉單向和雙向鍊錶

package com.my.util 單向鍊錶節點 public class singlenode package com.my.util 雙向鍊錶節點 public class doublenode package com.my.suanfa import com.my.util.doublen...

1130 數字反轉

題目描述 description 給定乙個整數,請將該數各個位上數字反轉得到乙個新數。新數也應滿足整數的常見形 式,即除非給定的原數為零,否則反轉後得到的新數的最高位數字不應為零.輸入描述 input description 輸入共 1 行,乙個整數n 輸出描述 output description...

4029 數字反轉

總時間限制 1000ms 記憶體限制 65535kb 描述給定乙個整數,請將該數各個位上數字反轉得到乙個新數。新數也應滿足整數的常見形式,即除非給定的原數為零,否則反轉後得到的新數的最高位數字不應為零 參見樣例 2 輸入輸入共 1 行,乙個整數 n。輸出輸出共 1 行,乙個整數,表示反轉後的新數。樣...