
程序代码:
#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;
return k;
}
int main()
{
int t=0,c=0;
num temp;
srand((unsigned)time(NULL));
do
{
temp = fun();
}
while(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);
t++;
do
{
temp= fun();
}
while(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);
t++;
do
{
temp = fun();
}
while(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);
t++;
do
{
temp = fun();
}
while(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);
t++;
do
{
temp = fun();
}
while(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);
t++;
if(t==5)
{
do
{
temp = fun();
if(temp.a!=temp.b&&temp.a!=temp.c&&temp.a!=temp.d&&temp.a!=temp.e)
if(temp.b!=temp.c&&temp.b!=temp.d&&temp.b!=temp.e)
if(temp.c!=temp.d&&temp.c!=temp.e)
if(temp.d!=temp.e)
{
printf("%d %d %d %d %d\n" , temp.a , temp.b , temp.c, temp.d, temp.e);
c++;
}
}while(c<20);
}
else
printf("没有满足条件的数组\n");
return 0;
}
图片附件: 游客没有浏览图片的权限,请
登录 或
注册
上午写的程序有错误,不好意思LZ。刚写好的。满足你的要求。LZ写的那个我觉得是程序循环的问题。没有break,它不会退出的。