c ++改变数字位数?

时间:2016-12-19 19:09:25

标签: c++

我有一个3位数字,让我们说n = 135.我需要更改数字中的数字,以便得到不同的数字。将第一个数字放在中间以得到315的结果。我想我要做的第一件事就是提取单独的数字然后我就去了

.defer

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

编辑: 写完之后想出来。不知道如何在不选择答案的情况下将帖子标记为已解决。像这样解决了(如果其他人遇到同样的问题):

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

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

2 个答案:

答案 0 :(得分:3)

乘法是你的朋友。

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

答案 1 :(得分:1)

所以,好吧。我会这样做的方式,请纠正我,如果这不起作用,将把它变成一个字符串,然后重新安排这样的东西。为此,我们可以像这样使用字符串格式化库:

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());