gpt4 book ai didi

c++ - 在数组中存储数字,C++

转载 作者:太空宇宙 更新时间:2023-11-04 16:02:20 25 4
gpt4 key购买 nike

我要从数字中提取数字,如何将它们存储在数组中?

int main()
{
int n;
std::cin>>n;
while (n > 0)
{
int digit = n%10;
n /= 10;
std::cout<<digit<<" ";
}

return 0;
}

最佳答案

最好的方法可能是使用 vector ,因为它们可以在运行时轻松调整大小,例如:

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 风格数组一样访问 vector :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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com