我要从数字中提取数字,如何将它们存储在数组中?
int main()
{
int n;
std::cin>>n;
while (n > 0)
{
int digit = n%10;
n /= 10;
std::cout<<digit<<" ";
}
return 0;
}
最佳答案
最好的方法是使用向量,因为它们可以在运行时轻松调整大小,例如:
int main()
{
int n;
std::cin>>n;
std::vector<int> digitArray;
while (n > 0)
{
int digit = n%10;
n /= 10;
std::cout<<digit<<" ";
digitArray.push_back(digit);
}
std::reverse(digitArray.begin(), digitArray.end()); // reverse the order of digits
return 0;
}
可以像访问C样式数组一样访问向量:
digitArray[0]
=第一个数字。另一种方法可能是使用固定大小的数组,因为我们知道一个32位整数最多只能有10位数字,例如:
int main()
{
int n;
std::cin>>n;
int digitArray[10] = {0}; //initialize all elements to 0
int size = 0;
while (n > 0)
{
int digit = n%10;
n /= 10;
std::cout<<digit<<" ";
digitArray[size] = digit;
++size;
}
std::reverse(std::begin(digitArray), std::begin(digitArray)+(size-1)); // reverse the order of digits
return 0;
}
大多数情况下,这将使您剩下无用的元素,尽管在这里可能并不重要。
关于c++ - 将数字存储在数组中,C++,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41210408/