void main()
{
int x[7],m;
srand((unsigned)time(NULL));
restart:
for(int i=0;i<7;i++)
{
x[i]=rand()%42+1;
}
//檢查產生的亂數是否重複
for(int l=1;l<7;l++)
{
for(m=0;m<l;m++)
{
if(x[l]==x[m])
break;
}
if(x[l]==x[m])
break;
}
if(x[l]==x[m])
{
goto restart;
}
else
{
for(int i=0;i<7;i++)
{
cout<<x[i]<<endl;
}
}
}
要產生7個不重複的亂數,如果有重複,則回到第一個迴圈重新產生亂數
在沒加上else之前,就變成無窮迴圈
加上之後,就沒有任何東西跑出來
麻煩各位高手幫我看看,哪裡有問題?
或是有其他方法可以代替或改善的?
--
[m [1;33;46m〒作者:inocchi 來自:dorm3.ntou.edu.tw [m
[1;36m◎二進位的世界 [37m【140.115.50.50‧binary.csie.ncu.edu.tw】