任意給你乙個整數,這個數可能很大(最長不超過100位),你能求出它的逆轉數嗎?
逆轉數定義如下:
1.乙個末尾沒有0的整數,它的逆轉數就是各位數字逆序輸出;
2.乙個負數的逆轉數仍是負數;
3.乙個末尾有0的整數,它的逆轉數如同下例:
reverse (1200) = 2100
reverse (-56) = -65
要求定義並使用如下函式:
void reverse(char *str)
輸入乙個長整數str,不超過100位,輸入的整數不含前導0。
輸出str的逆轉數。輸出佔一行。
-123456789000
-987654321000
tips:
1 總結規律:左右互換,找到左面開始的位置和右面開始的位置
2 左邊開始的位置為 第乙個是數字的位置 右面開始的位置為第乙個不是0的數字的位置
#include#include#include#includevoid reverse(char *str)
} for (int i = len-1; i >=0; i--) }
j = right;
for (int i = left; i <= (left+j)/2; i++) }
int main()
ZZULIOJ 1167 逆轉數(指標專題)
1167 逆轉數 指標專題 時間限制 1 sec 記憶體限制 128 mb 提交 2232 解決 1356 提交 狀態 討論版 命題人 admin 題目描述 任意給你乙個整數,這個數可能很大 最長不超過100位 你能求出它的逆轉數嗎?逆轉數定義如下 1.乙個末尾沒有0的整數,它的逆轉數就是各位數字逆...
POJ 1167 解題報告
這題是拿來練習dfs的。題中的輸入中,乙個時間對應了一輛bus。對這個資料進行嘗試搜尋。這裡不是直接對資料進行搜尋,而是利用乙個陣列time 60 time x 表示x在輸入資料中出現的次數。now x 表示x在已使用的資料中出現的次數。搜尋的思路 find函式 1.判斷是否搜尋結束 2.如果x無效...
題目1167 陣列排序 北航
題目描述 輸入乙個陣列的值,求出各個值從小到大排序後的次序。輸入 輸入有多組資料。每組輸入的第乙個數為陣列的長度n 1 n 10000 後面的數為陣列中的值,以空格分割。輸出 各輸入的值按從小到大排列的次序 最後乙個數字後面沒有空格 樣例輸入 4 3 75 12 3 樣例輸出 1 3 2 1 解決方...