算法—巧排扑克牌(C语言)
生活随笔
收集整理的這篇文章主要介紹了
算法—巧排扑克牌(C语言)
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
/*
小明剛上小學(xué),學(xué)會了第一個撲克牌“魔術(shù)”,到處給人表演。魔術(shù)的內(nèi)容是這樣的:他手里握著一疊撲克牌:A,2,....J,Q,K 一共13張。他先自己精心設(shè)計它們的順序,然后正面朝下拿著,開始表演。只見他先從最下面拿一張放到最上面,再從最下面拿一張翻開放桌子上,是A;然后再從最下面拿一張放到最上面,再從最下面拿一張翻開放桌子上,是2;......如此循環(huán)直到手中只有一張牌,翻開放桌子上,剛好是K。這時,桌上牌的順序是:A,2,3,4,5,6,7,8,9,10,J,Q,K請你計算一下,小明最開始的時候手里牌的順序是怎樣的。把結(jié)果寫出來,逗號分割,小明“魔術(shù)”開始時,最下面的那張牌輸出為第一個數(shù)據(jù)。*/
#include"stdio.h"
#include"string.h"
int main()
{int i,index,temp;int a[13];memset(a,0,sizeof(a)); //初始化數(shù)組為 0 for(i=1,index=1;i<14;i++){while(1){if(a[index]==0){a[index]=i;break;}else index++;} temp=0; while(1){index++;index=index%13;if(a[index]==0) temp++;if(temp==2 || i==13) break; } }for(i=0;i<13;i++){ if(a[i]<=10) printf("%d ",a[i]);else if(a[i]==11) printf("J ");else if(a[i]==12) printf("Q ");else printf("K ");}printf("\n");return 0;
}
總結(jié)
以上是生活随笔為你收集整理的算法—巧排扑克牌(C语言)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 地下城与勇士打开从西岚那里拿到的包裹
- 下一篇: 算法—快速排序Sqrt (C语言)