2013-10-10 79 views
-5

在我的工作我有以下範圍的9個整數的程序:111111111 - 999999999如何分割整數

我有三個案例,我需要看看。在其中一個,我需要設置一個整數等於數字的最後3位數字,接下來我必須設置int =中間的3位數字,然後我必須設置int =前3位數字。

我該怎麼做?我不知道如何處理數字之間沒有空格或類似的東西。

+2

你要我們做你的工作您?或者你已經有一個大綱或一些基本代碼向我們展示? – abelenky

+0

您可以使用模運算符和除10來獲取單個數字,但是如果您要用這些操作進行大量工作,我建議創建一個自定義的Integer類,其中包含每個3位數的部分,並可以重新構建它很容易,例如by 123456789 = 123 * 10^6 + 456 * 10^3 + 789'。至少它對我來說更有意義。 – Thomas

+0

當你提到「空間」時,這意味着它可以是一個字符串。那麼,你知道有辦法得到一個子字符串嗎? –

回答

1

你需要證明你的嘗試工作,但使用除法和模數這個人是相當簡單的(一個除法的餘數 - 所以1234 % 10034):

int num = 123456789; 
int last = num%1000;// last = 789 
int tmp = num/1000; // tmp = 123456 
int mid = tmp%1000; // mid = 456 
int first = tmp/1000; // first = 123 
0

如果您的數字是字符串,那麼您應該查看std::string操縱器。特別是substr應該適合您的需求。

如果你的號碼是int那麼我會建議看看模運算符(%)。