當前位置:首頁 » 編程軟體 » 魔術師編程

魔術師編程

發布時間: 2023-01-07 09:15:21

Ⅰ 魔術師翻牌的程序

魔術師翻牌,魔術師將撲克中的13張黑桃預先排好,牌面朝下,放在手中,
第一次數一張牌翻過來剛剛好是A,放在桌面上;第二次數MAX>1張牌,把記數分別為1,2,。。。,
(MAX-1)的那些牌,依次 放在手中牌的下面,數MAX的牌,翻過來剛剛好是2,放在桌面上;
第三次也數MAX>1張牌,把記數分別為1,2,。。。,(MAX-1)的那些牌,依次 放在手中牌的下面,
數MAX的牌,翻過來剛剛好是3,放在桌面上;這樣做下去,直到13張牌翻完為止,
此時桌面上的牌順序剛剛好是A,2,3,4,5,6,7,8,9,10,J,Q,K。
編程找出魔術師手中的13張牌的原始順序... */

Ⅱ 在一種室內互動游戲中,魔術師要每位觀眾心裡想一個3位數abc(a.b.c分別是百位.十位和個位數字),

#include<stdio.h>
#include<windows.h>
#include<time.h>
#include<math.h>
#include<stdlib.h>
//函數的聲明
void magician();
void decision();
void mainmenu();
void exitgame();
void hellp();
void playerchoice();

void mainPage()//主界面
{
int i;
printf("\t______vvvvvv______系統正在載入中,請稍等......______vvvvvv______\t\n");
printf("\t—__— zzzzzzzzzzz電腦不給力,請稍等一會......—__—zzzzzzzzzzzz\t\n");
for(i=0;i<80;i++)
{
printf("%%");
Sleep(200);

}
printf("\t\t\t—— 終於結束了╮(╯▽╰)╭\t\t\t\n");
system("CLS");
system("color 8B");
printf(" *****************************************************************\n");
printf(" *******************************************************************\n");
printf(" ** **\n");
printf(" ** **\n");
printf(" ** 第五組 **\n");
printf(" ** 成員:林可、王麗婕、張婷婷、許春雪、 **\n");
printf(" ** 裴月娥、錢鵬辰 **\n");
printf(" ** **\n");
printf(" ** **\n");
printf(" *******************************************************************\n");
printf(" *****************************************************************\n");

}

int a;
int b;
int c;
int sum;//計算的和值
int e;//三位數的值

void main ()//主函數
{
mainPage();
mainmenu();

}
/*acb+bca+bac+cab+cba+abc=sum-abc
222(a+b+c)=sum-abc
本代碼的核心思想
*/

void mainmenu()//系統主菜單
{
int select;

while(1)
{
printf("%%%%%%%%%%%%%%%%%%%%%%%%%%%%Main Menu%%%%%%%%%%%%%%%%%%%%%%%%\n");

printf("@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Menu@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@\n");
printf("\t 1 退出\n");
printf("\t 2 進入游戲\n");
printf("\t 3 游戲幫助\n");
printf("請輸入相應的數字,進入不同的模塊: \n");
printf("@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@\n");
scanf("%d",&select);
getchar();
fflush(stdin);
if(select==1)
{
exitgame();
}
else if(select==2)
{
playerchoice();
}
else if(select==3)
{
hellp();
}
else
{
printf("選擇非法,請重新輸入進行再次選擇\n");
}
}
}
void viewer()//玩家是觀眾
{
int sum;//鍵盤輸入的和值
int e;//得出的三位數
int f;
int g;
int m;
printf("請輸入得到的數:\n");
scanf("%d",&sum);
e=222-sum%222;
a=e/100;
b=(e/10)%10;
c=e%10;

g=a+b+c;
f=e+(222*g);
if (f==sum)
printf("%d\n",e);
else
{
if(sum%222==0)
{
m=(sum/222)/5;
e=222*m;
printf("%d\n",e);
}
else
{
e=e+222;
a=e/100;
b=(e/10)%10;
c=e%10;
f=e+(222*g);
printf("%d\n",e);
}
}

}
void playerchoice()//選擇玩家的身份
{
int select;
printf(" 輸入 1 你是魔術師 \n");
printf(" 輸入 2 你是觀眾 \n");
printf("請輸入相應的數字,進入不同的模塊: \n");
scanf("%d",&select);
getchar();
fflush(stdin);
if(select==1)
{
magician();
}
else if(select==2)
{
viewer();
}
else
{
printf("選擇非法,請重新輸入進行再次選擇\n");
}

}
void hellp()
{
system("CLS");
printf("$$$$$$$$$$$$$$$$$$歡 迎 尋 求 幫 助$$$$$$$$$$$$$$$$\n");
printf("\n");
printf("@@@@游戲規則:輸入1,表示退出遊戲 @@@\n");
printf("@@@@ 輸入2,表示游戲系統設置 @@@\n");
printf("@@@@ 輸入3,表示游戲幫助 @@@\n");
printf("@@@@ 輸入4,表示游戲開始 @@@\n");
printf("輸入2時,進行下一輪選擇:\n");
printf(" 輸入1 你是魔術師 \n");
printf(" 輸入2 你是觀眾 \n");
printf("\n");
printf("!!!!!!!!!!!!游 戲 簡 要 說 明!!!!!!!!!!!!!\n");
printf("\n");
printf(" 在一種室內互動游戲中,魔術師要每位觀眾心裡想一個3位數abc(a.b.c分別是百位.十位\n");
printf("和個位數字),然後魔術師讓觀眾心中記下acb bac bca cab cba 5個數以及這5個數的和值。\n");
printf("只要觀眾說出這個和值多少,則魔術師一定能猜出觀眾心裡想的原數abc是多少。\n");
printf("\n");
printf("本游戲玩家自由選擇所擔任的職業,即魔術師或觀眾,根據提示完成游戲\n");
printf("$$$$$$$$$$$$$$$$$$結 束 幫 助$$$$$$$$$$$$$$$$$$$$$\n");

}
void exitgame() //退出
{
char select;
printf("你確定退出遊戲嗎?退出請輸入Y或y,繼續點任意鍵\n");
scanf(" %c",&select);
getchar();
fflush(stdin);
if(select=='Y'||select=='y')
{
printf("歡迎再來游戲\n");

exit(1);
}
else
{
return;
}
}
void magician()//玩家是魔術師
{
int l,f;
srand(time(0));
a=rand()%9+1;
b=rand()%10;
c=rand()%10;
e=100*a+10*b+c;
//acb+bac+bca+cab+cba=122a+212b+211c=f
f=122*a+212*b+221*c;
printf("%d\n",f);
printf("請輸入你得到的三位數: \n");
scanf("%d",&l);
if (e==l)
printf("恭喜你,魔術成功了 \n");
else
printf("魔術失敗了,下次努力\n");
}

Ⅲ 魔術師的猜牌術(2),求VB編程!!!只需要做出(2)就行了,謝謝!

Private Sub Command1_Click()
Dim a(13) As Integer
Print "猜牌術1:"
j = 1
For i = 1 To 13
n = 0
While n < i - 1
If j < 13 Then j = j + 1 Else j = 1
If a(j) = 0 Then n = n + 1
Wend
a(j) = i
Next i
For i = 1 To 13
Print a(i);
Next i
Print
End Sub

令黑桃編號為1~13,紅桃編號為14~26,則魔術師手中的牌原始順序是這樣安排的:
1 19 10 2 25 16 3 11 22 4 20 12 5 17 26 6 13 24 7 18 14 8 21 23 9 15

Private Sub Command2_Click()
Dim a(26) As Integer
Print "猜牌2:"
j = 1
For i = 1 To 26
a(j) = i
n = 0
If i < 26 Then
While n < 3
If j < 26 Then j = j + 1 Else j = 1
If a(j) = 0 Then n = n + 1
Wend
End If
Next i
For i = 1 To 26
Print a(i);
If i Mod 13 = 0 Then Print
Next i
End Sub

Ⅳ 請各位大哥大姐們,叔叔阿姨們,帥哥美女們幫我用vb編程下面的「魔術師的秘密」,感激不盡,急用~~!

Subxxx()
DimiAsInteger,nAsInteger,pAsInteger,mAsInteger
Dimarr(1To13)AsInteger
Dimbrr(1To54)AsBoolean
arr(1)=1
p=0'用來定位開始記牌的位置
Fori=1To13
n=0
m=1
DoWhilem<55
Ifp+m>54Thenp=0:m=1'當54張牌數完,重新回到第一張牌
Ifbrr(p+m)=FalseThen'判斷這張牌是否是已經挑出來的牌,如果是已經挑出來的牌,則跳過
n=n+1'n用來數第幾張牌
Ifn=iThen
arr(i)=p+m'定位每張黑桃i的位置
brr(p+m)=True'已經挑出來的牌,則標記為True
p=p+m'將定位變數p,定位到p+m
ExitDo'退出Do循環
EndIf
EndIf
m=m+1
Loop
Next

DimsAsString
s="牌號-"&"位置"&Chr(10)
Form=1To13
s=s&""&m&"-"&arr(m)&Chr(10)
Next
MsgBoxs
EndSub

呵呵,我的答案是:

A 2 3 4 5 6 7 8 9 10 J Q K

1 3 6 10 1521 28 36 45 2 17 31 46

順過來就是:A,10,2,3,4,5,J,6,7,Q,8,9,K

1,8,2...什麼的順序肯定是錯的,1+2+3+4...+7=28,一副牌有54張,數到7的時候數了28張牌,所以數第8張牌的時候,是第36張牌,所以,怎麼可能黑桃8跑到黑桃A和黑桃2之間呢!?

c語言魔術師猜牌

//在本程序中,以a[1]~a[26]順序記錄原來的牌面,以自增的變數i記錄黑桃A,2,。。。K,紅桃A,2,。。。K;

#include<stdio.h>
int a[27];
int main(){
int i,n,j=1;
a[1]=1; //a[1]記錄第一張牌,顯然為黑桃A;
printf("The original order of cards is:(r:red b:black):\n");
for(i=2;i<=26;i++){ //循環變數i,i對應唯一的牌面;
n=1; //n賦值為1,與下文 while(n<=3)呼應;
do{
if(j>26) //j>26是,值改變為1;
j=1;
if(a[j]) //如果a[j]已記錄牌面,j自增1,使a[j]下移記錄下一張牌面,否則,執行else語句;
j++;
else{
if(n==3) //當n等於3時,a[j]記錄牌面i;
a[j]=i;
j++; //j自增1;
n++; //n自增1;
}
}while(n<=3); //當n<=3是繼續do while ,否則,退出do while;
}
for(i=1;i<=26;i++){ //以原來的次序輸出牌面;
printf("%c",a[i]>13? 'r':'b');
printf("%d ",a[i]>13? a[i]-13:a[i]);
if(i==13)
printf("\n");
}
printf("\n");
}

Ⅵ 魔術師的紙牌編程演算法

我的理解是第1張是A,然後把第2張放到最後,然後第3張是2,然後把第4張放到最後,第5張放到最後,然後第6張是3,然後把7、8、9張依次放到最後,然後第8張是4……
是這樣吧?
按照你說的話,牌由上到下的順序是(T代表10):A825T3QJ9476K
c語言實現的話用倒推的思想應該會相對比較簡單一些,你自己拿13張牌自己倒推著試試看,然後按照自己倒推的思路編程就會容易許多。
具體的代碼就不給你編了,實現的時候可能多層循環比較麻煩,一步一步來就會輕鬆些,最好先畫個流程圖。

Ⅶ 魔術師與撲克問題(pascal)

我只給個思路吧
這道題首先可以用鏈表來寫,要用到循環鏈表 , 循環鏈表知道么? 就是鏈表的尾連接著鏈表的頭。 每一個節點儲存2個內容 :1是下一個節點,2是這個節點的序號(這個序號是永遠不變的,就算被刪除了也不變)。 再設一個數組1~13 分別表示 第i 號內是什麼撲克牌 。 然後單純模擬就可以了
循環13次 第一次隔一個節點 ,把它從鏈表中刪掉 並把它的序號數做數組的下標存儲 A 第二次隔兩個 節點 ,刪掉後把它的序號做下標 儲存 2 也就是說現在的數組中 第一號儲存了 A 第三號儲存了 2 以此類推就可可以了
最後再把整個數組輸出…………
如果還有不明白的到網上搜一下 這道題的程序吧

Ⅷ 劉謙的個人資料

中文名: 劉謙
外文名: LOUIS LIU(路易斯·劉)
國籍: 中國
民族: 漢
出生地: 台灣省高雄市
出生日期: 1976年6月25日
職業: 魔術師
畢業院校: 台灣東吳大學
國際名:LU CHEN
祖籍:江西九江
家庭成員:劉安山(父親),陳惠嘉(母親)
寵物:吉尼/精靈/JIINI(瑪爾濟斯犬)
身高:173cm
體重:60kg
屬相:龍
星座:巨蟹座
血型:O
感情狀況:未婚
視力:500度近視+散光
學歷:台灣東吳大學日文系學士
語言:漢語,日語,英語,閩南語
徒弟:文沛然
粉絲名稱:謙迷
粉絲原創專屬歌曲:《謙手尋夢》
綽號:劉謙老師,謙哥(對其敬稱)大頭(陳冠霖對其昵稱),六師父,6000,六千(取其名字諧音),劉小謙,謙,小謙,謙謙,謙兒,謙帥,謙寶,謙爺(謙迷常用昵稱),謙殿 ,某隻(謙迷對其昵稱)等
性格:寬容,大度,沉穩,冷靜,內向,自閉,纖細,敏感,完美主義
興趣:魔術(各種類型),電影(歌劇),音樂(音樂劇,唱歌),美術(美術展,繪畫),電腦編程(PS,製作視頻),舞台編程(化妝,服裝,造型,配樂,剪輯,燈光)推理,小提琴,象棋,跳舞,寫作,乒乓球
劉謙團隊:經紀人何晃傑,經紀助理吳軒軒,後台總監劉瀚佑,舞台總監譚永銓,音樂總監郝磊,魔術助理(寶島四少)游仁宏,沈勃宏,廖柏翔,劉宸龍;造型鐵三角化妝師,發型師,服裝師;魔術顧問Mirko callaci
圈中好友:何晃傑,陳冠霖,Mirko Callaci,小林浩平,程廣生,坂井弘幸,李永軍,Cyril ,Danny Cole,胡凱倫,周傑倫,汪涵,李彬,柳岩,張菲,董卿,管彤等人
[編輯本段]個人喜好
口頭禪:
1.hello大家/各位好,我是劉謙!
2.重點來了,仔細看。
3.誠如各位所見/各位,接下來,就是見證奇跡的時刻。
4.這個送給你做紀念。
5.大家給他/她拍拍手聲鼓勵一下。
6.太完美了!
7.下面,就是見證奇跡的時刻。
擅長的學科:心理學,物理,化學,語文,英語,日語
最欣賞的魔術師:大衛·科波菲爾
最喜歡的笑星:志村健 ,小沈陽
最喜歡的動漫人物:哆啦A夢
最喜歡的顏色: 黑,白,灰
最喜歡的食物:薯片,蛋糕,壽司,草莓冰淇淋,咖喱飯,維力炸醬面,柳橙汁,白色戀人巧克力,荔枝
最喜歡的飾品:戒指
喜歡的女生類型:大智若愚,孝順,安靜(也不能太安靜,就是在他想問題時不會吵到他)
最喜歡的一句話:說出來會被嘲笑的夢想才有實踐的價值,就算跌倒了姿勢也會很豪邁。
最難忘的一件事:在一家店前表演口香糖紙里變人民幣,被老闆和一大堆親戚攔截住說錢是他們的。
最感動的一件事:一名粉絲跟著他跑遍世界各地的演出地點。
印象深刻的一句話:身為一個『職業』魔術師,有兩件事永遠不能忘記,一是對技藝永無止境的追求,二是娛樂觀眾的心。
部分語錄:
(勵志版)
1.一個站在舞台上表演的人最重要的就是觀眾,因為有你們站在這里,才有我站在這里,我在這里所做的一切都是為你們所做的,為了娛樂喜歡我的觀眾,希望大家看的到我的努力,也了解到我的努力都是為了你們所創奉獻出來,希望你們繼續支持我讓我繼續的動力在台上繼續為你們表演下去。
2. 任何一個比賽,都會有運氣的成分在裡面。其實這個行業呢,演藝圈都是一樣啦。它是一個精神上的考驗,就看你能不能撐過去而已。很多事情面臨很多關卡,都是看你能不能撐過去而已。如果撐過去,你就會成功;撐不過去你可能就不見了。其實今天你只是碰到你可能人生中第一個關卡,以後還會碰到很多,那你要告訴自己說,你要堅強能夠撐過去的話,你以後我相信會有更好的成就和發展。
3.雖然我要打壓你,但你也要擺出一個讓我打壓的姿態,這就叫作志氣。
4.不是說外國的月亮不圓,只是我們的月亮也不是方的。
5.時尚表現的是工作態度,人生觀與價值觀。
6.講笑話跟變魔術一樣,最重要的一點,就是時機的掌握,在對的時機做(說)了正確的事,那魔術才會神奇,笑話才會好笑,其中往往只差一兩秒鍾,這需要多年的經驗以及精密的安排才能夠計算準確的。
7.(指魔術揭秘者)這些人畢竟是少數,但是遇見了總是會讓人很生氣。不過,我們更應該抱持的是同情,因為這些人們是可憐的。他們看不到夢想,體驗不到驚奇。或許他們覺得自己很聰明,但是卻失去了人生中更寶貴的東西。人活在這世界上,已經很苦了,我想我們需要更多的夢‧‧‧
8.有些事情必須改變,但卻不是說改就改的。
9.如果有一間公司,你付他錢,他就能幫你解決所有的問題,那麼甚麼問題沒有了。可惜沒有這樣的公司。如果有一本字典,出了任何問題,只要翻一翻,查一查就可以找到答案,那甚麼問題也都沒有了。可惜沒有這樣的字典。如果有一個人,遇到困難,只要跟他說,問題就迎刃而解,那也甚麼問題都沒有了。這種人我相信是有的,可惜我還沒遇到。
10.有一種人,當小朋友滿心期待掛著襪子在床頭時,他們會告訴小朋友:別傻了,這世界上根本沒有聖誕老人,都是騙人的。有一種人,當你專心陶醉在阿凡達的劇情當中,他們會在你旁邊說:別傻了,這都是三D特效做出來的,電影都是騙人的。有一種人,當你正在享受魔術帶給你美妙體驗時,他們會跳出來說:別傻了,讓我來揭密給你看,魔術都是假的。
11.(指在夢開始的地方)24個城市,12萬現場觀眾,30場全場起立鼓掌,每一場都是我的全新體驗與挑戰。在這短短的兩個小時中,無論是台前台後台上台下的所有朋友們,都好像一家人一般,我們一起創造了珍貴回憶,一起見證了夢幻奇跡。
12.身為一個表演者,能夠為這個社會或身邊的人做些什麼事呢?我的工作到底有什麼樣的價值呢?以下這篇留言,是在少林寺那篇博客里發現的。不敢說我改變了一個人的人生或是挽救了他的生命,只要單純的能夠帶給觀眾快樂,我就有繼續努力的必要。
13.我印象之最深的是表演中途,有一名遠遠躲在暗處的演員(是真的又"遠"又」暗」),他的戲服上有許多觸須在微微的蠕動(是真的」微微的」蠕動),不仔細看根本看不出來。我很明白,要做到這樣的效果,很顯然必須要在他的戲服內安裝許多復雜而且巧妙的機械裝置,絕對不是件小工程。花了這麼多工夫,只為了一個沒有人會注意到的效果(至少同行的友人們,沒有一個人注意到這件事情),體現了細節創造出完美的敬業精神啊(我比較不願意相信他們是有錢沒地方花)。
14.(指魔術揭秘)我覺得這可能是人性吧。就是看到不理解的事情總是會想去研究端倪。每一個正常的人都會這個樣子。這對我來說這是正常現象。但是我相信這個現象慢慢會沒有的,大家會慢慢習慣於觀看魔術。如果我表演的每一個魔術你都要去破解,那會很累。到目前為止我已經表演了上千多個魔術。我想大家解到一定程度也會懶得去解,只是欣賞就好了。
15.(指粉絲)老朋友們,我真的很感謝大家從以前到現在的支持與愛護,如果沒有大家,劉謙不會有今天,我所做的一切努力,都是為了可以欣賞到更好的表演,你們對我來說是最重要的人。新朋友們,我也非常歡迎你們加入這個大家庭,也非常感謝你們的支持,相信從現在開始,你們也會是我最重要的好朋友。

Ⅸ 編程魔術師要每位觀眾心裡想一個三位數abc(a,b,c分別是百位,十位和個位數字),然後

#include<stdio.h>
#include<stdlib.h>
#include<math.h>

intMagic(intm);
intTput(inta,intb,intc);

main()
{
intm;//觀眾求出的五個數的和
intM;//魔術師算出的三位數

scanf("%d",&m);
M=Magic(m);


if(M==99)//循環過後,所有三位數都不符合
printf("Thesumyoucalculatediswrong! ");
else
printf("Thenumberis%d ",M);

system("pause");
}

//函數功能:輸出觀眾心裡的三位數
intMagic(intm)
{
inta,b,c;//分別儲存循環中三位數的百十個位
inti;//循環變數
ints;//儲存循環中計算的和

//循環遍歷每一個三位數
for(i=999;i>99;i--)
{
//分離每個三位數
a=i/100;
b=i%100/10;
c=i%10;

s=Tput(a,c,b)+Tput(b,a,c)+Tput(b,c,a)+Tput(c,a,b)+Tput(c,b,a);

if(s==m)
break;
}
returni;
}

//函數功能:輸入百十個位,輸出一個三位數
intTput(inta,intb,intc)
{
returna*100+b*10+c;
}

Ⅹ 《python從入門到實踐》練習題有答案嗎

找不到,只找到找到幾道題目的答案

8-9 魔術師:創建一個包含魔術師名字的列表,並將其傳遞給一個名為show_magicians() 的函數,這個函數列印列表中每個魔術師的名字。8-10 了不起的魔術師:在你為完成練習 8-9 而編寫的程序中,編寫一個名為make_great() 的函數,對魔術師列表進行修改,在每個魔術師的名字中都加入字樣「theGreat」。調用函數 show_magicians() ,確認魔術師列表確實變了。想問下大神怎麼對魔術師列表進行修改同時又不使用新的列表,我修改了一次但是用了一個新列表的方法和原習題不符。

熱點內容
java返回this 發布:2025-10-20 08:28:16 瀏覽:564
製作腳本網站 發布:2025-10-20 08:17:34 瀏覽:853
python中的init方法 發布:2025-10-20 08:17:33 瀏覽:554
圖案密碼什麼意思 發布:2025-10-20 08:16:56 瀏覽:732
怎麼清理微信視頻緩存 發布:2025-10-20 08:12:37 瀏覽:655
c語言編譯器怎麼看執行過程 發布:2025-10-20 08:00:32 瀏覽:973
郵箱如何填寫發信伺服器 發布:2025-10-20 07:45:27 瀏覽:226
shell腳本入門案例 發布:2025-10-20 07:44:45 瀏覽:85
怎麼上傳照片瀏覽上傳 發布:2025-10-20 07:44:03 瀏覽:775
python股票數據獲取 發布:2025-10-20 07:39:44 瀏覽:681