C語(yǔ)言實(shí)現(xiàn)猜數(shù)字小項(xiàng)目
學(xué)習(xí)完c語(yǔ)言循環(huán)、選擇內(nèi)容,我們對(duì)c語(yǔ)言有個(gè)初步的認(rèn)識(shí)了,讓我們來(lái)實(shí)現(xiàn)一個(gè)小項(xiàng)目吧!??!
1.猜數(shù)字小項(xiàng)目分析:
我們利用c語(yǔ)言制造出隨機(jī)數(shù)來(lái)猜,在只知道范圍的前提下我們無(wú)非有以下三種可能,猜大了、猜小了、猜對(duì)了。如果猜錯(cuò)了我們讓玩家繼續(xù)猜直到猜對(duì)為止,若猜對(duì)了給出選擇是否繼續(xù)玩哈?。?!
2.項(xiàng)目實(shí)現(xiàn)
我們定義兩個(gè)函數(shù)
菜單函數(shù)
void menu() { ?? ?printf("********************\n"); ?? ?printf("***** 1.play *******\n"); ?? ?printf("***** 0.exit *******\n"); ?? ?printf("********************\n"); }
游戲函數(shù)
?void game() { ?? ?int ret = rand() % 100 + 1;//為了產(chǎn)生1到100的隨機(jī)數(shù) ?? ?int guess = 0; ?? ?while (1) ?? ?{ ?? ??? ?printf("請(qǐng)輸入->"); ?? ??? ?scanf("%d", &guess); ?? ??? ?printf("\n"); ?? ??? ?if (guess == ret) ?? ??? ?{ ?? ??? ??? ?printf("太棒了,你猜對(duì)了?。?!\n\n"); ?? ??? ??? ?break; ?? ??? ?} ?? ??? ?else if (guess < ret) ?? ??? ?{ ?? ??? ??? ?printf("猜小了!??!\n\n"); ?? ??? ?} ?? ??? ?else? ?? ??? ?{ ?? ??? ??? ?printf("猜大了?。?!\n\n"); ?? ??? ?} ?? ?} }
若想使界面看著美觀可自行修改哈!
在制造隨機(jī)數(shù)時(shí)可能出現(xiàn)問(wèn)題,要加上隨機(jī)種子要不然你有作弊的嫌疑哦。嘿嘿?。?!
在項(xiàng)目里加上時(shí)間戳就可了。哈哈哈。
3.完整代碼如下
#include<stdio.h> #include<time.h> void menu() { ?? ?printf("********************\n"); ?? ?printf("***** 1.play *******\n"); ?? ?printf("***** 0.exit *******\n"); ?? ?printf("********************\n"); } void game() { ?? ?int ret = rand() % 100 + 1;//產(chǎn)生1到100隨機(jī)數(shù) ?? ?int guess = 0; ?? ?while (1) ?? ?{ ?? ??? ?printf("請(qǐng)輸入->"); ?? ??? ?scanf("%d", &guess); ?? ??? ?printf("\n"); ?? ??? ?if (guess == ret) ?? ??? ?{ ?? ??? ??? ?printf("太棒了,你猜對(duì)了?。。n\n"); ?? ??? ??? ?break; ?? ??? ?} ?? ??? ?else if (guess < ret) ?? ??? ?{ ?? ??? ??? ?printf("猜小了?。?!\n\n"); ?? ??? ?} ?? ??? ?else? ?? ??? ?{ ?? ??? ??? ?printf("猜大了?。?!\n\n"); ?? ??? ?} ?? ?} } int main() { ?? ?int input=0; ? ?? ?srand((unsigned int)time(NULL));//導(dǎo)入隨機(jī)種子 ? ?? ?do ?? ?{ ?? ??? ?menu(); ?? ??? ?printf("請(qǐng)選擇->"); ?? ??? ?scanf("%d", &input); ?? ??? ?printf("\n"); ?? ??? ?switch (input) ?? ??? ?{ ?? ??? ?case 1: ?? ??? ??? ?printf("開(kāi)始游戲\n\n"); ?? ??? ??? ?game(); ?? ??? ??? ?break; ?? ??? ?case 0: ?? ??? ??? ?printf("退出游戲"); ?? ??? ??? ?break; ?? ??? ?default: ?? ??? ??? ?printf("輸入錯(cuò)誤,請(qǐng)重新輸入?。。n"); ?? ??? ?} ? ?? ?} while (input); ?? ?return 0; }
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
C語(yǔ)言數(shù)據(jù)結(jié)構(gòu)創(chuàng)建及遍歷十字鏈表
這篇文章主要介紹了C語(yǔ)言數(shù)據(jù)結(jié)構(gòu)十字鏈表的創(chuàng)建及遍歷,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步早日升職加薪2021-10-10VS Code 中安裝運(yùn)行、編寫(xiě)C語(yǔ)言程序的詳細(xì)教程
這篇文章主要介紹了VS Code 中安裝運(yùn)行、編寫(xiě)C語(yǔ)言程序的詳細(xì)教程,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-03-03C++常見(jiàn)獲取隨機(jī)數(shù)的方法小結(jié)
這篇文章主要介紹了C++常見(jiàn)獲取隨機(jī)數(shù)的方法,結(jié)合實(shí)例形式總結(jié)分析了C++獲取隨機(jī)數(shù)的幾種常見(jiàn)方法與相關(guān)操作注意事項(xiàng),需要的朋友可以參考下2018-05-05C++實(shí)現(xiàn)LeetCode(39.組合之和)
這篇文章主要介紹了C++實(shí)現(xiàn)LeetCode(39.組合之和),本篇文章通過(guò)簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下2021-07-07C語(yǔ)言陷阱與缺陷之?dāng)?shù)組越界訪問(wèn)詳解
這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言的數(shù)組越界訪問(wèn),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助2022-02-02C++中實(shí)現(xiàn)保存數(shù)據(jù)到CSV文件
這篇文章主要介紹了C++中實(shí)現(xiàn)保存數(shù)據(jù)到CSV文件方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-08-08C++實(shí)現(xiàn)簡(jiǎn)單酒店管理系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了C++實(shí)現(xiàn)簡(jiǎn)單酒店管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-08-08