产生随机数
程序代码:
#include <iostream> #include <time.h> using namespace std; #define max 7 int main() { int i(0),j,k,l(1),a[max]; srand((unsigned)time(NULL)); k=rand()%max; a[i]=k; k=rand()%max; while (i!=max) { for(j=0;j<=i;j++) { if(k==a[j]) l=0; } if(l) { i++; a[i]=k; } l=1; k=rand()%max; } for(i=0;i<max;i++) { cout<<a[i]<<" "; } cout<<endl; return 1; }产生0-max的整数(重复产生的会被删除),调试表明是for循环出了问题,但我想了很久想不通为什么for循环会是死循环,求解。