你可以帮我解决用随机数填充5个圆阵列的问题。 随机数将是圆的半径。 这是我的代码:
#include <iostream>
#include <time.h>
using namespace std;
int main()
{
// Array 2, below section is to populate the array with random radius
float CircleArrayTwo [5]; // store the numbers
const int NUM = 5; // Display 5 random numbers
srand(time(NULL)); // seed the generator
for(int i = 0; i < NUM; ++i)
{
CircleArrayTwo[i] = rand()%10;
}
cout << "Below is the radius each of the five circles in the second array. " << endl;
cout << CircleArrayTwo << endl;
system("PAUSE");
return 0;
}
目前输出如下:
下面是第二个数组中五个圆圈的半径。 002CF878
我哪里错了?
非常感谢任何帮助
答案 0 :(得分:5)
您正在打印数组的第一个元素的地址。 您可以遍历数组并打印每个元素:
for(int i = 0; i < NUM; ++i)
{
std::cout << CircleArrayTwo[i] << ", ";
}
std::cout << "\n";
或者,如果您有C ++ 11支持,
for (auto& x : CircleArrayTwo) {
std::cout << x << ", ";
}
std::cout << "\n";
答案 1 :(得分:1)
填充数组的方式是正确的,但是您无法打印这样的数组。您需要编写一个循环来逐个输出值。
答案 2 :(得分:0)
在C(和C ++)中,数组几乎等同于指向内存位置开头的指针。所以你只是输出第一个元素的地址; 输出所有元素引入另一个循环:
for(int i = 0; i < NUM; ++i)
{
cout << CircleArrayTwo[i] << endl;
}
答案 3 :(得分:-1)
CircleArrayTwo
是一个指针。当您打印指针时,它会打印一个内存地址,就像您提供的那样。要打印数组的值,您需要使用插入的[]
表示法。
您可以遍历数组中的值并打印每个值:
for (int i = 0; i < NUM; ++i) { cout << CircleArrayTwo[i] << endl; }