我想在数组中保存整数类型值 这是一个代码。
int a,arr[5];
cout<<"Enter a Number ";
cin >> a;
假设用户输入值73972
此值保存在arr
中,如下所示。
arr[0] = 7;
arr[1] = 3;
.. .. .. ..
.. .. .. ..
arr[4] = 2;
我该怎么做。???
答案 0 :(得分:1)
在数组上反向迭代,每次将数字除以10并将提醒存储在数组上。
for(int i=4; i>=0; i--)
{
arr[i] = a % 10;
a /= 10;
}
答案 1 :(得分:0)
读取一个字符串并将其分成数字。
答案 2 :(得分:0)
首先,整数值的数字可以超过5位。
您可以使用表达式
获取int类型的对象可以包含的位数std::numeric limits<int>::digits10 + 1
class std :: numeric_limits在标题<limits>
还要考虑到如果一个数字包含的数字少于数组的大小,那么你需要一些标记来确定数组中数字的结尾。
我建议您使用字符数组而不是整数数组,其中终止零将决定数字的结尾。
如果要使用整数数组,则代码可以采用以下方式
#include <iostream>
#include <algorithm>
#include <limits>
int main()
{
int arr[std::numeric_limits<int>::digits10 + 1];
int a;
std::cout << "Enter a Number ";
std::cin >> a;
int n = 0;
do
{
arr[n++] = a % 10;
} while ( a /= 10 );
std::reverse( arr, arr + n );
for ( int i = 0; i < n; i++ ) std::cout << arr[i] << ' ';
std::cout << std::endl;
}