2012-03-19 28 views
0

是否有庫函數或簡單的方法來讀取數字並使用它?通過操作,我的意思是用新號碼進行操作。向後讀取一個數字並在C中使用它?

例如:

2845 
would become 
5482 

你怎麼能做到這一點?我有一個想法,你可以做一個數字[我]數組,默認情況下爲null,並接收與數字一樣多的值。例如452會給數字[3]:數字[1]爲4,數字[2]爲5,數字[3]爲2.但這聽起來非常複雜,打印聽起來像是一個痛苦的對接,更不用說我不能用新數字來操作了。我需要檢查反向讀數是否是偶數。

任何想法?我一直在思考這個問題,但我找不到一個合適的解決方案。另外如果它很重要,我使用C語言的eclipse IDE。

+0

沖銷數量不是常見的操作,所以我懷疑你會發現它的庫函數... – 2012-03-19 20:22:51

+0

爲什麼會這樣永遠是愚蠢的功課之外有用問題嗎?另外,你能分辨一個數字與它的基數爲10的表示之間的區別嗎? – 2012-03-19 20:24:03

+0

這是功課嗎? – ChrisWue 2012-03-19 20:24:53

回答

3

一個簡單的解決辦法是:

/* only for x>0 */ 
int reverse(int x) 
{ 
    int r = 0; 
    while(x) { 
     r = r*10 + (x%10); 
     x = x/10; 
    } 

    return r; 
} 
+0

非常好。非常感謝你。 – Bugster 2012-03-19 20:26:58

0

如果你處理的是足夠小的數字,也許只是將它讀入C字符串,使用strrev()然後轉換爲整數?雖然如果你所要做的只是「檢查向後讀取的數字是否是偶數」,你所要做的只是檢查第一個字符是否爲'0', '2', '4', '6', or '8'

+4

'strrev'不是標準的C函數。 – 2012-03-19 20:24:28

相關問題