请教高手看看哪里出错了
#include<stdio.h>#include<time.h>
#include<stdlib.h>
typedef struct
{
int a , b , c ,d ,e;
}num;
num p[5] = { {2 , 3 , 5 ,7 ,11}, {1 , 2 , 3 ,8 ,9},{3 , 5 , 6 ,7 ,8}, {1 , 7 , 8 ,10 ,11},{3 , 4 , 6 ,8 ,11}};
num fun()
{
num k;
k.a = rand()%11 + 1;
k.b = rand()%11 + 1;
k.c = rand()%11 + 1;
k.d = rand()%11 + 1;
k.e = rand()%11 + 1;
if (k.a!=k.b!=k.c!=k.d!=k.e)
return k;
}
int main()
{
int n = 0;
srand((unsigned)time(NULL));
while(1)
{
num temp;
temp = fun();
if(temp.a == p[0].a && temp.b == p[0].b && temp.c == p[0].c && temp.d == p[0].d && temp.e == p[0].e)
{
temp = fun();
if(temp.a == p[1].a && temp.b == p[1].b && temp.c == p[1].c && temp.d == p[1].d && temp.e == p[1].e)
{
temp = fun();
if(temp.a == p[2].a && temp.b == p[2].b && temp.c == p[2].c && temp.d == p[2].d && temp.e == p[2].e)
{ temp = fun();
if(temp.a == p[3].a && temp.b == p[3].b && temp.c == p[3].c && temp.d == p[3].d && temp.e == p[3].e)
{temp = fun();
if(temp.a == p[4].a && temp.b == p[4].b && temp.c == p[4].c && temp.d == p[4].d && temp.e == p[4].e)
{
while(n <20)
{
temp = fun();
printf("%d %d %d %d %d\n" , temp.a , temp.b , temp.c, temp.d, temp.e);
n++;
}
}
}
}
}
}
}
return 0;
}
这是我编的一个程序,大致意思是丛1-11取5个不同的数,如果随机的前5组满足上面给定的值,那么接着输出随机的下20组
代码编译正确,就是运行不起来