C++编程题目产生10个不同随机数。

要求:1-10 之间产生5个不同的随机数。第1个数从1-5中随机产生。第2个数不能和第1个数相同,第3个数不能和第2,1个数相同。第4个数不能和第3,2,1个数相同。第5个数不能和第4,3,2,1个数相同。如此类推…

每产生一个随机数,就和原本生成的随机数进行比较. 如果不相同,就保留. 否则重新生成.大概写了个, 你参考下#include< iostream >
#include< ctime >
using namespace std;int main()
{
int a[ 5 ], t; //存放产生的随机数 srand(( unsigned )time( NULL )); for( int i = 0; i < 5; ++i )
{
t = rand() % 9 + 1;
for( int j = 0; j < i; ++j ) //遍历已经生成的随机数.和当前生成的随机数进行比较.
{
if( a[ j ] == t ) break;
}
if( j < i )
{
--i;
continue;
}
a[ i ] = t;
} for( i = 0; i < 5; ++i )
{
cout << a[ i ] << " ";
}
return 0;
}
温馨提示:内容为网友见解,仅供参考
第1个回答  2013-07-12
产生随机数用rand()MSDN查一下,或者百度一下用法。之后的判断我感觉没那么难,if就行,switch也行。建个int a[5]?
相似回答