解题思路:主要利用cstdlib头文件中的end、begin函数得到数组的尾后元素、首元素的地址,然后解引用运算符访问到具体元素进行比较。
#include<iostream>
#include<ctime>
#include<cstdlib>
using namespace std;
nt main(void)
{
const int sz = 5;//数组维度
int a[sz], b[sz];
srand((unsigned)time(NULL));//埋下随机数种子
for (int i=0;i<sz;++i)
{
//产生5个0—9的随机数
a[i] = rand() % 10;
cout << "系统已生成随机数,请输入您猜测的数字:";
int iVal;
for (int i=0;i<sz;++i)
{
if (cin>>iVal)
{
b[i] = iVal;
}
}
cout << "系统随机生成的数字为:";
for (auto val:a)
{
cout << val << ' ';
}
cout << endl;
cout << "您猜测的数字为:";
for (auto val:b)
{
cout << val << ' ';
}
cout << endl;
int *p = begin(a), *q = begin(b);
while (p!=end(a)&&q!=end(b))
{
if (*p!=*q)
{
cout << "您猜测的有误,两个数组不相等" << endl;
return -1;
}
p++;//p右移一个单位
q++;//q右移一个单位
}
cout << "恭喜您全部猜对yeah!" << endl;
return 0;
system("pause");
}