【发布时间】:2018-09-13 06:40:34
【问题描述】:
我有一个任务指示:
编写一个名为 PrintDigits 的函数,它接收一个整数并以相反的顺序打印出该整数的各个数字(首先是 1 位,然后是 10 位,然后是 100 位,依此类推),每行一个,并返回打印的位数。这应该适用于正整数或负整数 然后编写一个主函数,要求用户输入 2 个整数,打印出这两个整数的位数(使用您编写的 PrintDigits 函数),并告诉用户哪个整数的位数最多以及位数的差异是多少。你可以假设用户输入是两个整数。
但我的问题是我是否应该使用数组。我知道使用数组,您可以挑选出单个数字并以相反的顺序打印它们,但我不确定这是否适用于分解单个整数。我尝试过使用数组,但我认为这不再是正确的路线。这是我的代码:
#include <iostream>
using namespace std;
void PrintDigits(int[], int);
int main()
{
int int1[8], int2[8];
cout << "Please input two integers: ";
cin >> int1[8] >> int2[8];
cout << "\n\nDigits of " << int1[8];
cout << PrintDigits(int1, 8);
return 0;
}
void PrintDigits (int arr[], int size)
{
for (int i=0; i < size; i++)
cout << arr[i] << '/n';
}
有没有其他方法可以在没有数组的情况下获得这些结果?
【问题讨论】:
-
除法和循环就是你所需要的......
-
我不懂数组。你确定那是你想要使用的吗?
标签: c++ integer user-input reverse