P1553 數字反轉(公升級版)

2021-09-21 14:30:23 字數 2266 閱讀 8655

題目描述

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

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

輸入輸出格式

輸入格式:

乙個數s

輸出格式:

乙個數,即s的反轉數

輸入輸出樣例

輸入樣例#1:

5087462

輸出樣例#1:

2647805

輸入樣例#2:

600.084

輸出樣例#2:

6.48

輸入樣例#3:

700/27

輸出樣例#3:

7/72

輸入樣例#4:

8670%

輸出樣例#4:

768%

說明所有資料:25%s是整數,不大於20位

25%s是小數,整數部分和小數部分均不大於10位

25%s是分數,分子和分母均不大於10位

25%s是百分數,分子不大於19位

(20個資料)

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#define ll long long

#define dd double

using namespace std;

intmain()

else

if(s[i]

=='/'

)else

if(s[i]

=='%')}

ll flag1 =0;

ll flag2 =0;

ll flag3 =0;

ll flag4 =0;

ll flag5 =0;

ll v =0;

ll w =0;

ll p1 =-1

, p2 =-1

; ll p3 =-1

, p4 =-1

;if(flag ==0)

else}if

(qu.

empty()

)else}}

else

if(flag ==1)

if(flag1 ==0)

else

if(flag1 ==1)

}while((

!st.

empty()

)&&(st.

top()==

'0')

)while

(!qu.

empty()

)else

if(flag2 ==1)

}if(st.

empty()

)else

} cout <<

".";

if(st1.

empty()

)else}}

else

if(flag ==2)

if(flag1 ==0)

else

if(flag1 ==1)

}while(1

)else

}while(1

)else}if

(st.

empty()

)else

} cout <<

"/";

if(que.

empty()

)else

} cout << endl;

}else

if(flag ==3)

while(1

)else}if

(st.

empty()

)else

} cout <<

"%"<< endl;

}}

P1553 數字反轉(公升級版)

給定乙個數,請將該數各個位上數字反轉得到乙個新數。這次與noip2011普及組第一題不同的是 這個數可以是小數,分數,百分數,整數。整數反轉是將所有數字對調 小數反轉是把整數部分的數反轉,再將小數部分的數反轉,不交換整數部分與小數部分 分數反轉是把分母的數反轉,再把分子的數反轉,不交換分子與分母 百...

P1553 數字反轉(公升級版)

題目鏈結 題目描述 給定乙個數,請將該數各個位上數字反轉得到乙個新數。這次與noip2011普及組第一題不同的是 這個數可以是小數,分數,百分數,整數。整數反轉是將所有數字對調 小數反轉是把整數部分的數反轉,再將小數部分的數反轉,不交換整數部分與小數部分 分數反轉是把分母的數反轉,再把分子的數反轉,...

P1553 數字反轉(公升級版)

題目描述 給定乙個數,請將該數各個位上數字反轉得到乙個新數。這次與noip2011普及組第一題不同的是 這個數可以是小數,分數,百分數,整數。整數反轉是將所有數字對調 小數反轉是把整數部分的數反轉,再將小數部分的數反轉,不交換整數部分與小數部分 分數反轉是把分母的數反轉,再把分子的數反轉,不交換分子...