69,382
社区成员
发帖
与我相关
我的任务
分享
#include<stdio.h>
#include<math.h>
#include<stdlib.h>
#include<time.h>
#define MAX 100
#define total 10
bool choice(int le);
struct ob{
int num;
int level;
bool flag;
};
typedef ob object;
int le1=0,le2=0,le3=0;
int main()
{
object arr[20];
int i=0,le,ran,j=0;
for(i=0;i<20;i++)
{
arr[i].num=i;
arr[i].level=0;
arr[i].flag=false;
}
for(i=0;i<20;i++)
printf("%d\n",arr[i].num);
i=0;
printf("it is beginng ......... ..\n");
while(i<10)
{
//srand(time(NULL));
ran=rand()%20;
le=rand()%3+1;
if(choice(le)){
if(!arr[ran].flag)
{
arr[ran].num=ran;
arr[ran].level=le;
arr[ran].flag=true;
printf("ran= %d,le = %d\n",ran,arr[ran].level);
i++;
printf("i is %d\n",i);
}
}
}
return 0;
}
bool choice(int le){
if((le1<total)||(le2<total)||(le3<total)){
switch(le)
{
case 1:le1++;break;
case 2:le2++;break;
case 3:le3++;break;
}
if(le1>1)
{
le1=total;
return false;
}
else if(le2>3){
le2=total;
return false;
}
if(le3>6){
le3=total;
return false;
}
return true;
}
return true;
}