2009-11-04 47 views
-1

我在用C++編寫程序時遇到問題。我一直在研究C#和Java,但C++與我不同,所以我需要你的幫助。用C++查找數字

我的任務就是讓程序,其中:從收益比從輸入其中有兩個數字的量擬合選取一個文本框讀取輸入和他們的總和爲9

例如:

輸入:12 231 81 53 522 11 63

輸出:81 63

我需要它一個ssimple儘可能所以我可以理解這一點。 預先感謝您。

+1

如果你不想讓你的問題關閉,你應該告訴我們你試着解釋什麼是你無法解決的問題,然後提出一個問題(帶?)。 – 2009-11-04 11:10:35

+1

這顯然是一個家庭作業問題,所以你需要發佈你到目前爲止提出的。另外,「文本框」是什麼意思?你是指用戶輸入的文本,還是你的類使用一些C++ GUI框架? – 2009-11-04 11:12:34

回答

0

逐個讀取每個字符。

如果它是一個數字(> ='0'& & < ='9'),請向「讀取數字」計數器添加一個並將其轉換爲數字。如果沒有,重置「讀數字」計數器並繼續解析,直到您結束。

如果您在計數器剛好有兩個讀數位時重置計數器,請檢查這兩個數字是否合計爲9,並在這些數字合計時將其打印出來。

既然你永遠不需要存儲兩個以上的數字,你可以有一個靜態數組,可以容納這兩個數字。

+2

用isdigit()替換> ='0'&& <='9'。 – Kylotan 2009-11-04 11:13:58

1

正如你所知道C#和Java,你會如何解決在C#或Java這個問題?從此開始,然後您可以修改該解決方案以適應C++,算法應該相同,並且語法比您想象的更類似。

例如,先從以下並實現OutputResult功能:

class Test 
{ 
    static void OutputResult(String contentsToParse) 
    { 
     // TODO: Implementation here. 
    } 

    static void Main() 
    { 
     String contentsOfTextBox = "12 231 81 53 522 11 63"; 
     OutputResult(contentsOfTextBox); 
    } 
} 
1

這看起來像一個關於C++運算符的問題。

  • 從字符串中讀取整數,你可以使用istringstream輸入操作:>>
  • 要測試一個整數有兩個數字,你可以使用內置大於>少比<運營商與布爾和& &運算符。
  • 要分離兩位數字,您可以使用內置整數除法運算符/和模數運算符。
  • 要檢查數字的總和,您可以使用內置的添加+和等於==運營商。
+0

注:如果滿足以下條件,則數字「n」爲兩位數:10 <= n <= 99 – 2009-11-04 16:31:43