Loading [MathJax]/extensions/tex2jax.js

搜尋此網誌

[C/C++][49選6+1大樂透]

大樂透開獎時,開獎單位將隨機開出六個彼此不重複的號碼加一個特別號,以下則是依照此規則的c程式

  1. /*
  2. * File Name: Lottery.c
  3. * Author: MH
  4. * Since 2011/04/06
  5. * Toolkit: Dev C++
  6. */
  7.  
  8. # include <stdlib.h>
  9. # include <stdio.h>
  10. # include <time.h> // rand()
  11.  
  12. int main(){
  13.  
  14.     int i, j, temp;
  15.     int num[7];    // 6 numbers and one special number
  16.  
  17.     srand(time(NULL));    // make random values with time
  18.  
  19.     for(i=0; i<7; i++){
  20.  
  21.         temp = (rand()%49)+1;    // generate a radom value between 1 to 49
  22.  
  23.         for(j=0; j<i; j++){
  24.  
  25.             if(temp == num[j]){    // check if there're numbers memoried before
  26.                 i--;    // if yes, go back to previous array
  27.                 break;    // then break
  28.             }
  29.  
  30.         }
  31.  
  32.         if(temp != num[j])    // because of break commend, check if the number is not memoried
  33.             num[i] = temp;    // if not, store it
  34.  
  35.     }
  36.  
  37.     printf("general number : ");
  38.  
  39.     for(i=0; i<6; i++)
  40.         printf("%3d", num[i]);
  41.  
  42.     printf("\nspecial number : %3d\n\n", num[i]);
  43.  
  44.     system("Pause");
  45.     return 0;
  46. }

1 則留言: