将数字转换为数字数组
Converting a number into an array of digits
我在将数字转换为数字数组时遇到了一点问题。
#include <iostream>
using namespace std;
int main()
{
int a[11];
int number;
cin >> number;
for (int i = 10; i >= 0; i--)
{
a[i] = number%10;
number = number/10;
}
for (int i = 0; i < 11; i++)
cout << a[i];
cout << endl;
}
我得到的不是我输入的数字,而是一些随机数字。当我输入的数字小于或等于 9 位时,不会出现此问题。
我会建议初始化数组(这是一个很好的做法)做一些事情:
int a[11] = {-1};
如果您在打印数组的每个元素后添加一个换行符,那么它将变得有意义且更易于阅读...
您的代码实际上按预期工作
#include <iostream>
using namespace std;
int main()
{
int a[11] = {-1};
int number;
cin >> number;
for (int i = 10; i >= 0; i--)
{
a[i] = number % 10;
number = number / 10;
}
for (int i = 0; i < 11; i++)
cout <<"@[" <<i<<"]: "<< a[i] <<endl;
cin.get();
}
对于像 432
这样的输入
你得到输出:
我在将数字转换为数字数组时遇到了一点问题。
#include <iostream>
using namespace std;
int main()
{
int a[11];
int number;
cin >> number;
for (int i = 10; i >= 0; i--)
{
a[i] = number%10;
number = number/10;
}
for (int i = 0; i < 11; i++)
cout << a[i];
cout << endl;
}
我得到的不是我输入的数字,而是一些随机数字。当我输入的数字小于或等于 9 位时,不会出现此问题。
我会建议初始化数组(这是一个很好的做法)做一些事情:
int a[11] = {-1};
如果您在打印数组的每个元素后添加一个换行符,那么它将变得有意义且更易于阅读...
您的代码实际上按预期工作
#include <iostream>
using namespace std;
int main()
{
int a[11] = {-1};
int number;
cin >> number;
for (int i = 10; i >= 0; i--)
{
a[i] = number % 10;
number = number / 10;
}
for (int i = 0; i < 11; i++)
cout <<"@[" <<i<<"]: "<< a[i] <<endl;
cin.get();
}
对于像 432
这样的输入你得到输出: