我有一个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;
答案 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());