全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:6058
推到 Plurk!
推到 Facebook!

想用C語言寫樂透程式~!!!

尚未結案
s733
一般會員


發表:1
回覆:6
積分:1
註冊:2005-01-10

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-01-10 23:23:27 IP:203.68.xxx.xxx 未訂閱
想做一個樂透號碼產生器~用C來做.....分3種: 1.電腦選號(一張4組號碼)  2.自選6個號碼產生4~8張樂透碼~一張4組號碼 3.包牌(1~43數字全串片囉!)    我做第一組就掛了......不會用亂數取幾組出來 #include  #include int main (void) { int i,j,count=0; for (i=1;i<=6;i ) { for (j=1;j<=6;j ) if ((i=rand()D)) printf (" %d",i); printf ("\n"); } system ("pause"); return 0; }
s733
一般會員


發表:1
回覆:6
積分:1
註冊:2005-01-10

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-01-18 09:54:25 IP:203.68.xxx.xxx 未訂閱
目前已做這樣(只有做出電腦選號,但是要由數字小排到大還不會): #include  #include #include void choice1(void); /*void choice2(void); int num[30][5];*/ int main (void) { printf ("*************************\n"); printf ("* 樂透彩第xxx期彩卷號碼 *\n"); printf ("*************************\n"); printf ("請選擇號碼產生的方式\n\n"); printf ("《1》電腦選號\n"); printf ("《2》自己選號\n"); printf ("《3》包牌\n"); printf ("《4》其它\n\n"); printf ("請選擇選號的方式:"); int w,Choice; scanf ("%d",&w); switch(w) { case 1: choice1 (); break; case 2: break; case 3: break; case 4: break; default: printf ("請勿超過0~4範圍\n"); } system ("pause"); return 0; } void choice1(void) { srand((unsigned)time(NULL)); int x; int i,j,k,n; int a[6]; printf ("請輸入你要幾張彩卷:"); scanf ("%d",&x); printf ("電腦選出了 %d 張彩卷:\n",x); for (n=1;n<=x;n ) { for (i=0;i<=5;i ) { do { a[i]=rand()B 1; for (j=0,k=0;j<=i;j ) { if (a[i]==a[j]) { k ; } } }while(k>1); } for (i=0;i<=5;i ) printf (" [%d] ",a[i]); printf ("\n"); } }

版主


發表:261
回覆:2302
積分:1667
註冊:2005-01-04

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-01-18 10:10:11 IP:211.22.xxx.xxx 未訂閱
樓上的先生,你這樣寫會有問題吧....如果號碼重覆怎麼辦? 選出一個號碼就要設法不讓選出的號碼再出現吧! ------------------------------------ 生命的目的,在幻化出多采多姿的組合。 生活的意義,在捕捉住稍縱即逝的感動。 ------------------------------------
------
-------------------------------------------------------------------------
走是為了到另一境界,停是為了欣賞人生;未走過千山萬水,怎知生命的虛實與輕重!?
s733
一般會員


發表:1
回覆:6
積分:1
註冊:2005-01-10

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-01-18 10:18:37 IP:203.68.xxx.xxx 未訂閱
那是哪裡重複了哩= ="是for那裡有問題吼....
s733
一般會員


發表:1
回覆:6
積分:1
註冊:2005-01-10

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-01-18 10:27:21 IP:203.68.xxx.xxx 未訂閱
多回一次@@......抱歉= =" 發表人 - s733 於 2005/01/18 10:30:16

版主


發表:261
回覆:2302
積分:1667
註冊:2005-01-04

發送簡訊給我
#6 引用回覆 回覆 發表時間:2005-01-18 10:49:44 IP:211.22.xxx.xxx 未訂閱
do while部份ㄚ,應該改為while(k==1)吧,不然號碼重覆兩次它才會重新再取一次吧. ------------------------------------ 生命的目的,在幻化出多采多姿的組合。 生活的意義,在捕捉住稍縱即逝的感動。 ------------------------------------ 發表人 - ㊣ 於 2005/01/18 10:51:40
------
-------------------------------------------------------------------------
走是為了到另一境界,停是為了欣賞人生;未走過千山萬水,怎知生命的虛實與輕重!?
s733
一般會員


發表:1
回覆:6
積分:1
註冊:2005-01-10

發送簡訊給我
#7 引用回覆 回覆 發表時間:2005-01-18 10:54:11 IP:203.68.xxx.xxx 未訂閱
剛改了~可是改成k=1的話,執行有點問題~數字出不來~好像當了@@" 哦哦....是k==1....然後要把k ;給刪掉~才可以執行~這樣會有問題嗎? 發表人 - s733 於 2005/01/18 10:57:39

版主


發表:261
回覆:2302
積分:1667
註冊:2005-01-04

發送簡訊給我
#8 引用回覆 回覆 發表時間:2005-01-18 11:56:33 IP:211.22.xxx.xxx 未訂閱
do-while那部分應改寫為:
do
{ 
  a[i]=rand()B 1;
  k=0;
  for (j=0;j<=i;j  )
  {
    if (a[i]==a[j])
    {
     k  ;                   或k=1亦可
    }
  }
}while(k==1);     
a[0]-->不會重覆 a[1]-->如果跟a[0]重覆-->k=1-->do-while修正 a[2]-->只會跟a[0]或a[1]重覆-->如重覆-->修正 .....以此類推..... 因此k頂多=1,SO k ;或k=1都可以 ------------------------------------ 生命的目的,在幻化出多采多姿的組合。 生活的意義,在捕捉住稍縱即逝的感動。 ------------------------------------
------
-------------------------------------------------------------------------
走是為了到另一境界,停是為了欣賞人生;未走過千山萬水,怎知生命的虛實與輕重!?

版主


發表:261
回覆:2302
積分:1667
註冊:2005-01-04

發送簡訊給我
#9 引用回覆 回覆 發表時間:2005-01-18 17:09:01 IP:211.22.xxx.xxx 未訂閱
另外,想由小到大排列,可參考bubble sort(泡沫排序的寫法). EX.    
x=0
for(n=0;n<=5;n  )
{
  for(m=0;m<5;m  )
  {
    if(a[i 1] < a[i])
    {
       x=a[i];
       a[i]=a[i 1];
       a[i 1]=x;
    }
  }
}    
因為有六個號碼,所以需排6次便能由小到大排列 ------------------------------------ 生命的目的,在幻化出多采多姿的組合。 生活的意義,在捕捉住稍縱即逝的感動。 ------------------------------------
------
-------------------------------------------------------------------------
走是為了到另一境界,停是為了欣賞人生;未走過千山萬水,怎知生命的虛實與輕重!?
s733
一般會員


發表:1
回覆:6
積分:1
註冊:2005-01-10

發送簡訊給我
#10 引用回覆 回覆 發表時間:2005-01-18 22:48:53 IP:203.68.xxx.xxx 未訂閱
嗯嗯~~真的非常感謝你~我在去研究其他種的~到時有問題再麻煩大家唄~3Q
s733
一般會員


發表:1
回覆:6
積分:1
註冊:2005-01-10

發送簡訊給我
#11 引用回覆 回覆 發表時間:2005-01-19 12:56:13 IP:203.68.xxx.xxx 未訂閱
包牌我看我就放棄了........那個很難做@@"第4個是創意~我自己想別種的唄~ 非常感謝→㊣ 先生的幫忙~!!!
系統時間:2024-04-29 4:59:24
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!