C語言入門:人機猜拳小遊戲的實現
計算機不懂“石頭,剪刀,布”的規則,所以我們先制定一套計算機可以“懂”的規則:
我們用1,2,3三個數字代表剪刀,石頭,布。我們規定:1<2,2<3,3<1。比如你輸入2,計算機選擇了3,那麼計算機贏;如果你輸入1,計算機選擇了3,那麼你贏。
我們需要做的是:
①程序能接受你的輸入(1或2或3)
②計算機能隨機選擇1~3的一個數
③程序對你輸入的數和計算機選的數根據規則作比較,判斷輸贏
好,明確了需求,我們一步一步來完成這個程序。
①程序能夠接受你的輸入 這個可以通過C語言的輸入語句scanf實現(visualstudio中出於安全考慮要用scanf_s):
scanf_s("%d",x);
②計算機從1~3中隨機選擇一個整數 如果你閱讀過C語言入門:C語言實現猜數字小遊戲,那你一定知道C語言的輸出隨機數函數srand和rand:
srand(time(NULL));
rand()%3+1;
③根據規則判斷你和計算機誰贏 這一步我們可以自定義一個判斷輸贏的函數來完成,不過遵循的規則是我們定義的規則。
把三個步驟串起來編寫一下:
判斷輸贏函數:
主函數:
當然這個程序有一些“漏洞”,比如說如果你輸入4或其他不是1~3的值,該怎麼處理?如果你想一直玩,直到不想玩了再退出,該怎麼編寫實現?
發動你聰明的大腦,快來自己實現一下吧!
這個程序還有什麼漏洞呢?歡迎在評論區指出~
相關推薦
'C語言定義無參數的函數時,f()和f(void)有什麼區別?'
"相信C語言初學者常會在前輩留下的項目,或者一些開源項目中看到以 void 作為參數的函數,例如 void fun(void),雖然我們都明白在C語言中,“void”表示空,但是按理說,如果函數不需要參數,直接空著就行:void fun(),為什麼還要多此一舉的寫上 voi...
'現在這麼多編程語言可學,為什麼還要學那麼舊的C語言?有用嗎?'
"編寫操作系統最常用的編程語言就是C語言了。用C語言編寫的第一個操作系統是 Unix,之後的 GNU/Linux 等操作系統也都是使用C語言編寫的。編寫操作系統最常用的編程語言就是C語言了C語言不僅僅是操作系統語言,也是當今幾乎所有流行的高級編程語言的先驅,這些編程語言多多...
'許多高級編程語言都借鑑了C語言的架構,或者乾脆就是C語言編寫的'
"編寫操作系統最常用的編程語言就是C語言了。用C語言編寫的第一個操作系統是 Unix,之後的 GNU/Linux 等操作系統也都是使用C語言編寫的。編寫操作系統最常用的編程語言就是C語言了C語言不僅僅是操作系統語言,也是當今幾乎所有流行的高級編程語言的先驅,這些編程語言多多...
'萬能的C語言,也能像其他語言那樣定義帶“默認參數”的函數嗎?'
"使用C++開發過程序時,定義函數可以指定默認參數,例如 void fun(int x, int y=3); 在調用 fun() 時第二個參數可以不傳遞,此時 fun() 函數默認第二個參數等於 3,例如 f(1) 就相當於 f(1,3)。這是一個很好用的特性,那麼在C語言...
'既然C語言無所不能,那麼它也能定義帶“默認參數”的函數嗎?'
"使用C++開發過程序時,定義函數可以指定默認參數,例如 void fun(int x, int y=3); 在調用 fun() 時第二個參數可以不傳遞,此時 fun() 函數默認第二個參數等於 3,例如 f(1) 就相當於 f(1,3)。這是一個很好用的特性,那麼在C語言...
'各編程語言出生簡介:C語言竟是因為無聊產生,那你心中的它呢?'
"編程語言有上千種,但是流行的不過10來種,那些我們經常使用的編程語言都是誰在什麼時候創造出來的呢?一起來看看。1880年約瑟夫·瑪麗·雅卡爾設計出人類歷史上首臺可設計織布機--雅卡爾織布機,對將來發展出其他可編程機器(例如計算機)起了重要作用。當時,他的發明受到了Skyn...
'一個資深C語言工程師:淺說C語言的重要性以及如何學好C語言'
"前言C語言屬於高級程序語言的一種,它的前身是“ALGOL”。其創始人是布朗·W·卡尼漢和丹尼斯·M·利奇。C語言問世時是帶有很大的侷限性,因為它只能用於UNIX系統上。然而隨著科學技術的進步,計算機工業的發展,C語言逐漸脫離UNIX。1987年美國標準化協會制定了C語言的...
'C語言快速入門——指針與數組'
"與數組有關的地址我本來打算以一個程序開始,讓我們直接理解相關概念。但轉念一想,如果引導你思考問題而得出結論,或許會有另一種效果,因此,我們的討論以下面的定義為基礎。int a = 9;int b[3] = { 0, 1, 2 };程序中定義的每個變量都對應一個具體的地址。...
'準備開學了,推薦一些語言小遊戲給大家'
"適合0—1歲寶寶的語言遊戲寶寶出生時的第一聲啼哭,就是他來到這個世界說出的第一句話!讓孩子的語言獲得良好發展,並不需要媽媽們做特別多的事情,只需每天拿出30分鐘的時間,認認真真地和孩子“對話”、玩遊戲,你就會有意想不到的收穫。■ 遊戲一:拍手、點頭玩法:❶ 和寶寶面對面坐...
'C|C語言為了效率或便利而不考慮安全的一些語法特性'
"C語言是效率最高的高級語言,也是最不安全的高級語言。作為強類型語言,且類型檢查是其安全和效率所在,但與此同時,類型的隱式轉換(表達式計算、賦值、函數的實參與形參的結合與返回以及邏輯類型),簡單粗暴的顯式類型轉換也會造成安全隱患。C語言的設計就效率與安全的考量而言,是將效率...
'我的全棧之路-C語言基礎之C語言概述'
"1.1 信息技術發展趨勢目前信息技術主要經歷了互聯網、移動互聯網以及以大數據、雲計算、物聯網、人工智能區塊為代表的新興技術三個階段。互聯網互聯網自從20世紀90年代逐漸興起,主要是通過網絡連接了世界各地的PC機,筆記本以及背後提供數據服務的大型服務器集群。其中絕大多數PC...
推薦中...