1. 程式人生 > >假定一副新撲克牌的順序為:大王、小王、黑桃A,2,3,…,T,J,Q,K、紅心A,2,3,…,T,J,Q,K、方塊 A,2,3,…,T,J,Q,K、梅花A,2,3,…,T,J,Q,K。現將兩副撲克牌摞

假定一副新撲克牌的順序為:大王、小王、黑桃A,2,3,…,T,J,Q,K、紅心A,2,3,…,T,J,Q,K、方塊 A,2,3,…,T,J,Q,K、梅花A,2,3,…,T,J,Q,K。現將兩副撲克牌摞

(1) 假定一副新撲克牌的順序為:大王、小王、黑桃A,2,3,…,T,J,Q,K、紅心A,2,3,…,T,J,Q,K、方塊A,2,3,…,T,J,Q,K、梅花A,2,3,…,T,J,Q,K。現將兩副撲克牌摞放在一起,然後將最上面的一張牌捨去,將之後的一張牌移到整副牌的最下面,重複此過程。問:最後剩下的是哪張牌?

(2)  設定一個足夠大的陣列然後將牌放入陣列中,按照規則直到剩到最後一張牌 

(3) 源程式程式碼

/************************************
 撲克牌問題
 輸入:
 輸出:牌的數字及花色
**************************************/
#include<stdio.h>
//int find(Card deck[]);
typedef  struct card
{
    int  suit;           //花色  1:黑 2:紅 3:花 4:片  5 :大王  6:小王
    char face;           //牌面	
}Card;
int find(Card deck[]);
int main(void)
{
	
	int j,k;
  int i=0;
  char face[]={'A','2','3','4','5','6','7','8','9','T','J','Q','K'};
  Card	deck[5000];     //主牌組
  for(i=0;i<5000;i++)
  {
	  deck[i].suit=0;   //牌組初始化
  }
  deck[0].suit=5;
  deck[1].suit=6;
  deck[54].suit=5;
  deck[55].suit=6;
  i=0;
  while(i<2)          
  {
	  for(j=1;j<=4;j++)
	  {
	      for(k=0;k<13;k++)
		  {
			  deck[(54*i)+2+(j-1)*13+k].face=face[k];
			  deck[(54*i)+2+(j-1)*13+k].suit=j;
		  }
	  }
      i++;
  }
  k=find(deck);
  printf("牌的花色是%d",deck[k].suit);
  printf("牌的點數是%c",deck[k].face);

}
/************************************
 撲克牌問題
 輸入:一個數組
 輸出:最後牌的陣列的位置
**************************************/
int find(Card deck[])
{
   int i=0;
   int j=0;
   for(i=0;;)
   {
	   if(deck[i+2].suit==0)
	   {
	      break;
	   }else
	   {
	      deck[108+j]=deck[i+1];
		  j++;
		  i=i+2;
	   }

   }
   return i+1;
}

相關推薦

假定撲克牌順序大王A,2,3,…,T,J,Q,K紅心A,2,3,…,T,J,Q,K方塊 A,2,3,…,T,J,Q,K梅花A,2,3,…,T,J,Q,K撲克牌

(1) 假定一副新撲克牌的順序為:大王、小王、黑桃A,2,3,…,T,J,Q,K、紅心A,2,3,…,T,J,Q,K、方塊A,2,3,…,T,J,Q,K、梅花A,2,3,…,T,J,Q,K。現將兩副撲克牌摞放在一起,然後將最上面的一張牌捨去,將之後的一張牌移到整副牌的最下面

撲克牌中隨機抽5張排,判斷是不是一個順子,即這5張牌是不是連續的2~10數字本身,A 1,J11,Q12,K13,而大,可以看成任意數字

#define  _CRT_SECURE_NO_WARNINGS   #include<stdio.h>   #include<math.h.>   #include<assert.h>   #define n 5   int main()   {    

開啟3個線程,這3個線程的ID分別ABC,每個線程自己的ID在屏幕上,要求輸出結果必須按ABC的順序顯示ABCABC

abc multi adf ++ include vol form 主線程 tdi 1 #include <stdio.h> 2 #include <process.h> 3 #include <windows.h> 4 5

ACMNO.16用迭代法求 求平方根的迭代公式 X[n+1]=1/2(X[n]+a/X[n]) 要求前後次求出的得差的絕對值少於0.00001 輸出保留3位小數 輸入 X 輸出 X的

題目描述 用迭代法求 。 求平方根的迭代公式為: X[n+1]=1/2(X[n]+a/X[n]) 要求前後兩次求出的得差的絕對值少於0.00001。 輸出保留3位小數 輸入 X 輸出 X的平方根 樣例輸入 4 樣例輸出 2.000 來

有四個執行緒1234,執行緒1的功能就是輸出1,執行緒2的功能就是輸出2,以此類推......... 現在有四個檔案A B C D,初始都要讓四個檔案呈如下格式A1 2 3 4 1 2..

具體題目如下: 有四個執行緒1、2、3、4, 執行緒1的功能就是輸出1,執行緒2的功能就是輸出2, 以此類推.........  現在有四個檔案A B C D, 初始都為空。現要讓四個檔案呈如下格式: A:1 2 3 4 1 2.... B:2 3 4 1 2 3....

使用Java語言,使用System.in輸入以下各個變數的值,並按照公式計算得出結果 公式 4/3*(r+34)-9*(a+b*c)+(3+d*(2+a))/(a+b*d)

public class Demo2 { /** * @param args */ /* * 根據題目要求,編寫程式完成相應要求: 使用Java語言,使

關於VS2010編譯共享DLL改靜態DLL出現錯誤 出現類似問題,一般是動態庫載入順序問題 error LNK2005: "void __cdecl operator delete(void *)" (<a href="/cdn-cgi/l/email-protection"

如題: 出現類似問題,一般是動態庫載入順序問題: error LNK2005: "void __cdecl operator delete(void *)" ([email protected]@Z) already defined in LIBCMTD.lib 解決方法

演算法題假設列火車一共經過10個車站,車站按順序 A B C D E F G H I J ,編寫一個程式,自動計算剩餘的票

假設一列火車一共經過10個車站,車站按順序為 A B C D E F G H I J ,編寫一個程式,自動計算剩餘的票     要求:1 假設火車有100個座位        2.程式可以輸入購買車票的起始站與結束站        3.輸入後,程式輸出剩餘車票,       

100以內1-2+3-4+...+99-100和

count=1 s = 0 while count<101: temp=count%2 if temp==0: s=s-count else: s=s+count count=count+1 print('100以內1-2+3-4+.

蛇形填數 描述 在n*n方陳裡填入1,2,...,n*n,要求填成蛇形例如n=4時方陳 10 11 12 1 9 16 13 2 8 15 14 3 7 6 5 4

#include <stdio.h>int main() {int a[100][100];int m,n,M,N,x,y,i,j,t=0;scanf("%d",&M);N=M;for(x=0,y=M-1;N>0;N=N-2,x++,y--){for

取出一個字串中字母出現的次數字串"abcdekka27qoq" ,輸出格式 a(2)b(1)k(2)

package com.heima.test; import java.io.FileWriter; import java.io.IOException; import java.util.Comp

zabbix-3.2.6之監控主機

更改 nat eight 啟動 repo sel cpu ota wid 1、更改主機名 [[email protected]/* */ ~]#hostname zabbix-client [[email protected]/* */-

【線性表2】線性表的順序實現順序

str contains 比較 重載 ins 而不是 eal 單元 con 順序表簡介 特點:使用一組地址連續的存儲單元依次存儲表中的數據元素,常見的就是使用數組去實現。 表中邏輯相鄰的數據元素,在物理內存上也相鄰。 順序表中的任意數

2星|《物種爆炸》用自造的新名詞把已知事情換了個說法語文與邏輯都比較差

演講 因此 最大的 都是 語法 收購 作家 com 酒店 讀後感覺特別差,堆砌了許多自造的詞,把已知的商業事件用自造的詞說了一遍。作者邏輯和語文都比較差,因此這種重說一遍的文字看起來非常累,讀後收獲特別少。 鑒於書中提到了不少商業上的新事件(需要從一堆不知所雲的文字中

定義個數,它可能正 也可能負 var num = Math.pow(-1,parseInt(Math.random() * 2) + 1);

寬度 定義 pow var random 頁面 new canvas dom for(var i = 0; i < 60; i++){ // 定義一個隨機數範圍從0 ~頁面寬度 var x = parseInt(Math.random() * myCanvas

程序開發代理創業機會附近的程序商家打造電商系統

健身 mage tex 小程序 升級 功能 小程序開發 程序開發 tar 小程序中,“附近的小程序”功能無疑讓線下營銷獲取一個新的營銷方式,可以為商家帶來更多的線上引流,來獲取更多潛在客戶。 因此對於商家來說,目前做小程序是作為明智的商業決策。此前互聯網有不少關於

編寫程式,在非遞減的順序表L中,刪除所有值相等的多餘元素要求時間複雜度O(n),空間複雜度O(1)

翠花上程式碼: Status delExcrescentValue(SeqList &S){ int flag = 0,val = S.elem[0];//記錄值不等的下標 //printf("%d\n",S.elem[0]); for(int i = 1;i

字元陣列“student a am i”,改“i am a student”

問題:有一個字元陣列的內容為:"student a am i",請你將陣列的內容改為"i am a student".            要求:不能使用庫函式。只能開闢有限個空間(空間個數和字