jpsix你很小氣耶
教我寫程式啦
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main()
{
int f[6],s[6],r[6],j=1,k=1,i,a;
srand(time(NULL));
while(k==1)
{
printf("\n請輸入兩組六個1到48之數字(不重複)\n輸入第一組:");
for( i=0 ; i<=5 ; i++ )
scanf("%d",&f[i]);
printf("輸入第二組:");
for( i=0 ; i<=5 ; i++ )
scanf("%d",&s[i]);
if(s[0]==f[0]||s[0]==f[1]||s[0]==f[2]||s[0]==f[3]||s[0]==f[4]||s[0]==f[5]||
s[1]==f[0]||s[1]==f[1]||s[1]==f[2]||s[1]==f[3]||s[1]==f[4]||s[1]==f[5]||
s[2]==f[0]||s[2]==f[1]||s[2]==f[2]||s[2]==f[3]||s[2]==f[4]||s[2]==f[5]||
s[3]==f[0]||s[3]==f[1]||s[3]==f[2]||s[3]==f[3]||s[0]==f[4]||s[3]==f[5]||
s[4]==f[0]||s[4]==f[1]||s[4]==f[2]||s[4]==f[3]||s[0]==f[4]||s[4]==f[5]||
s[5]==f[0]||s[5]==f[1]||s[5]==f[2]||s[5]==f[3]||s[0]==f[4]||s[5]==f[5])
{printf("請重新輸入兩組不同的號碼:");
k=1;}
else {printf("十組隨機號碼:\n");
k=0;}
}
while(j<=10)
{
for (a=0; a<=5; a++)
r[a]=1+(rand()%48);
if(r[0]==f[0]||r[0]==f[1]||r[0]==f[2]||r[0]==f[3]||r[0]==f[4]||r[0]==f[5]||
r[1]==f[0]||r[1]==f[1]||r[1]==f[2]||r[1]==f[3]||r[1]==f[4]||r[1]==f[5]||
r[2]==f[0]||r[2]==f[1]||r[2]==f[2]||r[2]==f[3]||r[2]==f[4]||r[2]==f[5]||
r[3]==f[0]||r[3]==f[1]||r[3]==f[2]||r[3]==f[3]||r[0]==f[4]||r[3]==f[5]||
r[4]==f[0]||r[4]==f[1]||r[4]==f[2]||r[4]==f[3]||r[0]==f[4]||r[4]==f[5]||
r[5]==f[0]||r[5]==f[1]||r[5]==f[2]||r[5]==f[3]||r[0]==f[4]||r[5]==f[5])
continue;
else if(r[0]!=s[0]&&r[0]!=s[1]&&r[0]!=s[2]&&r[0]!=s[3]&&r[0]!=s[4]&&r[0]!=s[5]&&
r[1]!=s[0]&&r[1]!=s[1]&&r[1]!=s[2]&&r[1]!=s[3]&&r[1]!=s[4]&&r[1]!=s[5]&&
r[2]!=s[0]&&r[2]!=s[1]&&r[2]!=s[2]&&r[2]!=s[3]&&r[2]!=s[4]&&r[2]!=s[5]&&
r[3]!=s[0]&&r[3]!=s[1]&&r[3]!=s[2]&&r[3]!=s[3]&&r[0]!=s[4]&&r[3]!=s[5]&&
r[4]!=s[0]&&r[4]!=s[1]&&r[4]!=s[2]&&r[4]!=s[3]&&r[0]!=s[4]&&r[4]!=s[5]&&
r[5]!=s[0]&&r[5]!=s[1]&&r[5]!=s[2]&&r[5]!=s[3]&&r[0]!=s[4]&&r[5]!=s[5])
continue;
else
printf("%4d%4d%4d%4d%4d%4d\n",r[0],r[1],r[2],r[3],r[4],r[5]);
j++;
}
return 0;
}
教我把if裡面的條件改短一點
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.138.246.18