#include <stdio.h> #include <stdlib.h> #include <time.h> #define SIZE 6 void print_matrix(int a[]),bubble(int a[]); void RunNemberCeeate(); int RunNember(); bool TestNumber(int *data, int j); int main(void) { int data[6],a; int data2[8]; RunNemberCeeate(); printf("1,自選邊號模式 2,電腦選號模式 3,包排模式\n"); printf("請輸入妳所要的的樂透模式!"); scanf("%d",&a); // 自選模組! if(a==1){ for (int i = 0; i < 6; i++){ printf("請輸入你所需要的號碼:"); scanf("%d",&a); // 輸入必須在1~42之間! if(a>=1 && a<=42 ){ data[i] = a; // 清除重複的號碼 if (TestNumber( data, i)){ printf("輸入的號碼跟之前的重複,請重新輸入!\n"); i--; } }else{ printf("輸入的號碼不在1~42之間,請重新輸入!\n"); i--; } } // 輸出銀幕! bubble(data); print_matrix(data); } // 自動產生模組! else if(a==2){ // clrscr(); printf("請輸入要購買的組數"); scanf("%d",&a); for(int j = 0; j<a; j++ ){ for(int i = 0; i<6; i++ ){ data[i] = RunNember(); if (TestNumber( data, i)) i--; } bubble(data); print_matrix(data); } } // 包排模組! else if(a==3){ // 輸入8個號碼! for (int i = 0; i < 8; i++){ printf("請輸入你所需要的號碼:"); scanf("%d",&a); // 輸入必須在1~42之間! if(a>=1 && a<=42 ){ data[i] = a; // 清除重複的號碼 if (TestNumber( data, i)){ printf("輸入的號碼跟之前的重複,請重新輸入!\n"); i--; } }else{ printf("輸入的號碼不在1~42之間,請重新輸入!\n"); i--; } } // 處理秀出28組號碼 for(int j = 0; j<28; j++){ for(int i = 0; i<8; i++){ data[] } } } system("PAUSE"); return 0; } // 判別是否重複! bool TestNumber(int *data, int j){ int i; i = data[j]; for (int l = 0; l < j; l++){ if (data[l] == i) return true; } return false; } // 亂數產生! int RunNember(){ return ((rand()%42)+1); } // 亂數種子 void RunNemberCeeate(){ srand((unsigned)time(NULL)); } void print_matrix(int a[]) { int i; for(i=0;i<SIZE;i++) printf("%d ",a[i]); printf("\n"); return; } void bubble(int a[]) { int i,j,temp; for(i=1;i<SIZE;i++) for(j=0;j<(SIZE-1);j++) if(a[j]>a[j+1]) { temp=a[j]; a[j]=a[j+1]; a[j+1]=temp; } return; } 剩包牌沒寫~~~~寫的不是很好說! |