2012-02-18 80 views
-3

我正在研究一個獲得int值的程序,將其應用於int。 比方說,用戶輸入的數值是803然後int值的組合

int x = 803; 

我的問題是爲int轉換成1個焦炭ineteger,這樣的。

x is 803 
x is 8+3 (11 - it's not one char length) 
x is 1+1 (2 - one char length); 

另一e.g:

x is 97 
x is 9+7 (16 - not one char) 
x is 1+6 (7 - one char) 

我試過很多方法,例如使用while循環,轉換成字符串,然後爲char數組,我無法找到一個解決方案。

請幫助,在此先感謝,抱歉的新手問題。

+1

這是一個家庭作業? – frictionlesspulley 2012-02-18 16:00:44

+0

哪種語言?請標記語言 – 2012-02-18 16:01:26

+0

請發佈您的最佳解決方案,我們將幫助您解決問題。 – dasblinkenlight 2012-02-18 16:04:10

回答

0

如果您試圖總結整數的數字,您可以使用模運算符(大多數語言中的'%')。

僞代碼:

int sumUpDigits(int number) { 
    int sum = 0; 
    int tmp = (number > 0) ? number : (-1 * number); 
    while (tmp > 0) { 
     sum += tmp % 10; 
     tmp = tmp/10; 
    } 
    return sum; 
} 
+0

這不是一項家庭作業......我不在學校學習C#。 這是一個在C# 而這正是我目前所做 http://pastebin.com/H0X1dZSH 它甚至還沒有接近我想要什麼,我得到104名,而不是2 – 2012-02-18 16:18:02

+0

來自Alexs - 代碼不是工作很好,其實它部分工作,它回答803的答案是11,我想要2(1 + 1 - 這個數字取自11),但是無論如何我會試着找到我的問題 – 2012-02-18 16:21:24

+0

看到這個[鏈接](http://msdn.microsoft.com/de-de/library/ww9t2871.aspx):Convert.ToInt32(char c)將指定的Unicode字符的值轉換爲等效的32位有符號整數。 – AlexS 2012-02-18 16:26:25