2013-10-05 35 views
-5

基本上,我需要編寫,將採取一個3位數的號碼,將執行以下操作一個C#控制檯應用程序控制臺應用程序: 1.總和的所有3個數字(例如,如果數字是123則將6) 2.「重構」,他的數字那樣: 數百,數千,那些。 實施例: 300 + 60 + 5 = 365 3.反向數字有幾個任務

多大幫助理解。

+4

你有沒有嘗試什麼嗎? –

+3

這看起來非常像一個家庭作業,所以你應該將其標記爲這樣的,或者解釋爲什麼沒有,所以我們可以給你兩種情況下,適當的援助。無論哪種方式,你都應該包括你自己嘗試解決這個問題。 – Guffa

+0

我試圖計算的三個數字之和與「%」(例如256%,100)和輸出將是2,但如果我想獲得的5和使用10個,而不是100,它不會工作。 –

回答

0

我覺得承擔風險來回答你的問題,但什麼樣的黑客..

「重構」,他的數字那樣:數百,數千,那些。

int i = 123, reverse = 0; 
while (i > 0) 
{ 
    reverse = (reverse * 10) + (i % 10); 
    i /= 10; 
} 
Console.WriteLine(reverse); //321 

總和的所有3個數字(例如,如果該號碼爲123那麼這將是6)

int i = 123, total = 0; 
while (i > 0) 
{ 
    total += i % 10; 
    i /= 10; 
} 
Console.WriteLine(total); //6 

謝謝,但它不是我的意思說「重構」。例如, 爲輸入389,它會打印:百位:3十位:8分的:9

int i = 389, houndreds = 0, tens = 0, ones = 0; 

ones = i%10; 
i /= 10; 
tens = i%10; 
i /= 10; 
houndreds = i%10; 

Console.WriteLine("Hundreds: {0} Tens: {1} Ones: {2}", houndreds, tens, ones); //Hundreds: 3 Tens: 8 Ones: 9 
+0

謝謝,但這不是我說'重構'的意思。 例如,對於輸入389它將打印此: 數百:3 數:8 個人:9 –

+0

@KyleButler更新在我的答案。下一次,爲你的問題做些努力。 –

0

這是假設您對重構部分3位數:

static void Main(string[] args) 
    { 
     int num = 365; 
     char[] digits = num.ToString().ToCharArray(); 

     Console.WriteLine(digits.Sum(x=>char.GetNumericValue(x))); 
     Console.WriteLine(new string(digits.Reverse().ToArray())); 
     Console.WriteLine(string.Format("Hundreds: {0} Tens: {1} Ones: {2}", digits[0], digits[1], digits[2])); 

     Console.Read(); 
    }