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");
?? ??? ?}
?? ?}
}若想使界面看著美觀(guān)可自行修改哈!
在制造隨機(jī)數(shù)時(shí)可能出現(xiàn)問(wèn)題,要加上隨機(jī)種子要不然你有作弊的嫌疑哦。嘿嘿?。。?/p>
在項(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++實(shí)現(xiàn)頁(yè)面的緩沖區(qū)管理器
這篇文章主要介紹了C++實(shí)現(xiàn)頁(yè)面的緩沖區(qū)管理器,文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹具有一定的參考價(jià)值,需要的小伙伴可以參考一下2022-08-08
基于QT設(shè)計(jì)一個(gè)春聯(lián)自動(dòng)生成器
春節(jié)是中國(guó)最隆重的傳統(tǒng)節(jié)日,一到過(guò)年家家戶(hù)戶(hù)肯定是要貼春聯(lián);在春節(jié)前夕,會(huì)用大紅紙張,加上濃墨書(shū)寫(xiě)祝福詞語(yǔ)。本文將利用Qt框架設(shè)計(jì)一個(gè)春聯(lián)自動(dòng)生成器,需要的可以參考一下2022-01-01
Qt實(shí)現(xiàn)數(shù)據(jù)進(jìn)行加密、解密的步驟
本文主要介紹了Qt實(shí)現(xiàn)數(shù)據(jù)進(jìn)行加密、解密的步驟,包含QCryptographicHash和Qt-AES兩種庫(kù)的實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的可以了解一下2024-03-03
C語(yǔ)言對(duì)磁盤(pán)文件進(jìn)行快速排序簡(jiǎn)單實(shí)例
這篇文章主要介紹了C語(yǔ)言對(duì)磁盤(pán)文件進(jìn)行快速排序簡(jiǎn)單實(shí)例的相關(guān)資料,需要的朋友可以參考下2017-06-06

