题解 | #明明的随机数#
明明的随机数
http://www.nowcoder.com/practice/3245215fffb84b7b81285493eae92ff0
#include
using namespace std;
int main() { int x = 0; //输入一个随机的整数x; cin>>x;
//把x个数放到数组里面去
int *arr1 = new int[500]();//初始化数组中的元素为0;
//以数组下标来存储随机数,下标对应的数组值为1,来说明是否是存储的随机数
for(int i = 0; i < x; i++)
{
int juti;
cin>>juti;
arr1[juti] = 1;
//cout<<arr1[i]<<endl;
}
//把x个数放到数组里面去
//以数组下标来存储随机数,下标对应的数组值为1,来说明是否是存储的随机数
for(int i = 0; i <=500; i++)
{
if(arr1[i] == 1)
cout<<i<<endl;
}
}
** 写两句吧,第一 用数组下标来进行重复数据的剔除,由于只能输入1-500故,我认为数组下标不可能大于500, 比如输入3个数 第一 为 500 第二个数为0 第三个为数 为500 那么 arr1 中 就只有 arr1[500]为1,和arr1[0]为1,剩下的,再多的500 都被吃掉了,故最后判断一下 数组元素等于1 的 有哪些,然后输出它的下标。 注意是下标 因为下标才是 有效的输入数据 注意是下标 因为下标才是 有效的输入数据 注意是下标 因为下标才是 有效的输入数据 !!! **