有没有办法拆分数字并将数字存储在int数组中?拆分数字并存储在int数组中
我正在寻找一种方法来从数字中删除一些数字(对于可分算法证明)。
例如,如果我有一个号码12345,我需要执行此操作:
12345 = 1229
有没有办法做到这一点?
有没有办法拆分数字并将数字存储在int数组中?拆分数字并存储在int数组中
我正在寻找一种方法来从数字中删除一些数字(对于可分算法证明)。
例如,如果我有一个号码12345,我需要执行此操作:
12345 = 1229
有没有办法做到这一点?
使用n % 10
得到最后一个数字并且n/10
得到其他数字。例如,5 = 12345%10,1234 = 12345/10。
int array[6];
int n = 123456;
for (int i = 5; i >= 0; i--) {
array[i] = n % 10;
n /= 10;
}
一般来说,vector
s的首选在C++中,特别是在这种情况下,因为你可能事先不知道的位数。
int n = 123456;
vector<int> v;
for(; n; n/=10)
v.push_back(n%10);
然后v
包含{6,5,4,3,2,1}
。您可以选择使用std::reverse
来反转它。
我打算在sudo代码中给你一个答案。
int [] makeArrayFromInt (int input){
arr = new int [floor(log(input)/log(10)) + 1]
int index = 0
while(input>0){
arr[index]=input%10
input=input/10
index++
}
return arr
}
的基本思想是利用国防部10 10获得特定数字的地方,鸿沟值才能到下一个数字。重复这个过程,直到10分为零,因为这是当你达到你的数字结尾。楼(日志(输入)/日志(10))+ 1是一个技巧来找出一个数字拥有多少位数。
'int n = 12345; int diff = n/10 - n%10; cout << diff;' – 2013-05-11 18:16:30
你的意思是你想让数据库中的每个基数十位数字 – aaronman 2013-05-11 18:17:54
术语问题 - 你想从一个整数中取数字,而不是从一个数中取整数(尽管我猜测数字也是整数)。 – Steve314 2013-05-11 18:19:20