簡體   English   中英

如何在 3 個“房子”中分隔整數? 百、十與團結

[英]How I can separate integer number in 3 "houses"? Hundred, Ten and Unity

例如,我有一個變量

int number = 300;

我需要通過“數字”修改“數字”,我想知道我是否需要將 10、10、1 分為 3 個變量,或者是否有一種除法方法可以讓我通過“數字”更改唯一變量“數字”, “屋”由“屋”、百、十和合(3 - 2 - 1)組成。

示例:用戶只需要將 3'2'1 中的數字“2”更改為“2”,他希望“2”變為“5”,因為“321”必須變為“351”。 也就是說,數字3和0不會被修改,只有數字2從321變成3-5-1。

這與Arduino無關,它是C。

例如,您可以使用itoa()將其轉換為數組(請參閱https://playground.arduino.cc/Code/PrintingNumbers/

然后使用atoi()將其轉換回 int (參見http://www.cplusplus.com/reference/cstdlib/atoi/

是的,您可以這樣做,例如通過使用函數來更改數字。

使用以下步驟:

  1. 你要做的是首先將數字右移直到它是最右邊的數字並記住刪除的部分
  2. 清除最后一位數字。
  3. 添加新數字
  4. 左移
  5. 添加記住的部分

將 321 更改為 351 的示例(與上述步驟相同):

  1. 右移給出 32。記住 1
  2. 使用模運算符並將其刪除:32 - (32 % 10) = 32 - 2 = 30
  3. 30 + 5 = 35
  4. 35 -> 換班后給出 350
  5. 350 + 1 = 351

我會把實現留給你。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM