2016-12-19 4 views
0

私は3桁の数字を持っています。たとえば、n = 135としましょう。番号の桁を変更して別の番号にする必要があります。私は私がしなければならない最初の事を考え出し315の結果のために途中で最初の番号を置くことは、別の数字を抽出していないと私は今、私は別の桁の値を持つこのC++の数字の変更箇所?

int n = 135; 
int a, b, c, x; 

a = n/100; 
b = n % 100/10; 
c = n % 10; 

と一緒に行きましたが、それらのすべてを置くためにどのようにないアイデア1つの変数にまとめてx = 315にします。

編集: 執筆後にそれを解説しました。回答を選択せず​​に投稿を投稿済みにする方法を知らないでください。このように解決しました(他の誰かが同じ問題に遭遇した場合)。

x = b * 10 + a; 
x = x * 10 + c; 
cout << "Changed number: " << x << endl; 
+1

「1」、「3」、「5」を一緒に追加する必要がある場合、どうすればいいですか? '315'? – NathanOliver

+1

整数を文字列に変換し、文字列を操作してから整数に変換し直します。 –

+0

これは学習の練習ですか、もっと一般的な意味でそれを適用しようとしていますか? –

答えて

2

乗算はあなたの友人です。

x = b * 100 + a * 10 + c; 
1

だから、大丈夫です。私がこれをやり遂げるやり方は、これがうまくいかない場合は、それを文字列にして、そのようなものを並べ替えることです。それ315作り、第一及び第二のアイテムを交換ます

char swap; 
swap = number[0]; 
number[0] = number[1]; 
number[1] = swap; 

:次に

string number = to_string(135); 

、あなたはこのようなものを行うこともできます、私たちはこのようなライブラリーを書式文字列を使用することができることを行うために、他は論理的に従う。あなたが終わったら、文字列をintに戻してください:

int number = atoi(number.c_str()); 
+0

彼らはC++で作業を始めました。私は文字列が私がそれを行う方法であることを認めますが、これは彼らの頭の上に道があると感じる。 – NathanOliver

+0

が動作する可能性があります。しかし、コード全体が私にとっては馴染みのないものです:D – NulisDefo

+0

ええ、そうです、@ NathanOliver。私はそれが文字列では巨大なトンを簡単に見つけると、私はそれを初めて学んだときにそのテクニックを使用:) – Daneolog

関連する問題