C 更改数字位置

c++ changing number digits places?

本文关键字:位置 数字      更新时间:2023-10-16

我有一个3位数字,假设n =135。我需要更改数字中的数字,以便我得到不同的数字。在315的结果中将第一个数字放在中间。我认为我要做的第一件事是提取单独的数字,然后我选择了这个

int n = 135;  
int a, b, c, x;
a = n / 100;
b = n % 100 / 10;
c = n % 10;

现在我有单独的数字值,但不知道如何将它们全部放在一个变量中以获取x = 315。

编辑:写作后弄清楚了。不知道如何在不选择答案的情况下将帖子标记为解决。这样解决了(如果其他人遇到相同的问题):

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

乘法是您的朋友。

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

所以,好的。我这样做的方式,如果这不起作用,请纠正我,将其制成字符串,然后重新安排类似的东西。为此,我们可以使用类似的字符串格式库:

string number = to_string(135);

然后,您可以做这样的事情:

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

将交换第一个和第二个项目,将其变为315。其他项目在逻辑上遵循。完成后,只需将字符串转换回INT,这样:

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