廣告廣告
  加入我的最愛 設為首頁 風格修改
首頁 首尾
 手機版   訂閱   地圖  簡體 
您是第 3285 個閱讀者
 
發表文章 發表投票 回覆文章
  可列印版   加為IE收藏   收藏主題   上一主題 | 下一主題   
kyahm
數位造型
個人文章 個人相簿 個人日記 個人地圖
路人甲
級別: 路人甲 該用戶目前不上站
推文 x0 鮮花 x0
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片
推文 x0
[C/C++][求助] 選寫一C程式=>洗牌再發10張牌將其點數相加[已解決]
這是我們的作業,可是寫了好久都寫不出來.....
想請各位大大幫幫忙, 感激不盡....

題目如下...
  通用以下程式改寫發10張牌,將其所有點數相加printf出來....
重點:洗牌, 發10張牌, 點數相加...(*要用C寫喔. 謝謝~*)
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
void shuffle(int wdeck[]);
void deal(const int wdeck[],const char *wface[], const char *wsuit[]);
int main ()
{
    const char *suit={"H","D","C","S"};
    const char *face={"ace","deuce","three","four","five","six", ..

訪客只能看到部份內容,免費 加入會員 或由臉書 Google 可以看到全部內容



[ 此文章被三仙在2008-12-03 18:12重新編輯 ]

此文章被評分,最近評分記錄
財富:0 (by 三仙) | 理由:



獻花 x0 回到頂端 [樓 主] From:臺灣臺北市亞太線上公司 | Posted:2008-11-30 15:28 |
teldeanmac85 手機
個人文章 個人相簿 個人日記 個人地圖
初露鋒芒
級別: 初露鋒芒 該用戶目前不上站
推文 x1 鮮花 x21
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

複製程式
#include <stdio.h>
#include <time.h>
#include <stdlib.h>

#define N 52

int main(int argc, char* argv[])
{
   int poker[N], sum = 0;    
   int i, j, tmp, remain;    
   
   // 初始化陣列     
   for(i = 0; i < N; i++){        
      poker[i] = i;     
   }
   
   srand(time(0));

   // 洗牌   
   for(i=0;i<N;i++){
      j = rand() % N ;
         tmp = poker[i];
         poker[i] = poker[j];
         poker[j] = tmp;
   }
   
   for(i = 0; i < 10; i++) {      
      // 判斷花色         
      switch((poker[i] / 13)) {             
         case 0: printf("H"); break;            
         case 1: printf("D"); break;           
         case 2: printf("C"); break;            
         case 3: printf("S"); break;        
         }  
         
         // 撲克牌數字        
      remain = (poker[i] % 13)+1;   
         
         //點數相加
         sum = sum + remain; 
         
         switch(remain) {             
         case 13: printf("K "); break;            
         case 12: printf("Q "); break;           
         case 11: printf("J "); break;           
         default: printf("%d ", remain); break;        
      }  
         

   }
   printf("\n");
   printf("SUM : %d\n",sum);  

   return 0;
}

//////////////////////////////////////
C6 D8 H6 DQ C1 D4 CJ D7 C2 SJ
SUM : 68
//////////////////////////////////////

作法 : 52張牌 填進 poker[52] = 0~51
poker   / 13 => row
(poker % 13) +1 => col (必須+1 shift 1~52)

此文章被評分,最近評分記錄
財富:50 (by 三仙) | 理由: 因為您的參與,讓程式設計更容易!!


獻花 x0 回到頂端 [1 樓] From:臺灣中華電信 | Posted:2008-12-02 01:25 |

首頁  發表文章 發表投票 回覆文章
Powered by PHPWind v1.3.6
Copyright © 2003-04 PHPWind
Processed in 0.062845 second(s),query:16 Gzip disabled
本站由 瀛睿律師事務所 擔任常年法律顧問 | 免責聲明 | 本網站已依台灣網站內容分級規定處理 | 連絡我們 | 訪客留言