欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C?語言實現(xiàn)猜數(shù)字小游戲完整示例代碼

 更新時間:2025年03月20日 09:48:12   作者:無愛如何釋懷  
這篇文章主要介紹了如何使用C語言生成1到100之間的隨機數(shù),并提供了一個簡單的猜數(shù)字游戲的實現(xiàn)代碼,文中通過代碼介紹的非常詳細,需要的朋友可以參考下

1.游戲要求

1.電腦隨機生成1到100的隨機數(shù)。

2.玩家猜數(shù)字,猜數(shù)字過程中,根據(jù)猜測數(shù)字的大小給出猜大或者猜小的結果反饋,直到猜對,游戲結束。

2.隨機數(shù)生成

C語言提供了一個函數(shù)叫rand,這個函數(shù)可以生成隨機數(shù),函數(shù)原型如下:

該函數(shù)會返回一個偽隨機數(shù),這個隨機數(shù)的生成范圍實在0到RAND_MAX之間,       

RAND_MAX的大小是依賴編譯器上實現(xiàn)的,但是大部分編譯器上是32767。

rand函數(shù)的使用需要包括頭文件:stdlib.h。

第一次運行:

第二次運行:

由此可見兩次的運行結果是一樣的,所以我們得到的不是真正意義上的隨機數(shù)。那是因為rand函數(shù)是對一個叫“種子”的基準值進行運算生成的隨機數(shù),又因為默認種子是1,所以這兩次運算的結果是一樣的,如果想要生成不同的隨機數(shù),就要讓種子是變化的。

這時候我們引進來一個新的函數(shù)叫srand,他是用來初始化隨機數(shù)的生成器,可以改變隨機數(shù)生成器的種子,srand的原型如下:

程序在調用rand函數(shù)前先調用srand函數(shù),通過srand函數(shù)的參數(shù)seed來設置rand函數(shù)生成隨機數(shù)的時候的種子,只要種子在變化,每次生成的隨機數(shù)就在變化。

那也就是說給srand的種子如果是隨機的,rand就能生成隨機數(shù);在生成隨機數(shù)的同時又需要一個隨機數(shù) ,那這就矛盾了。

在程序中我們一般是使用程序運行的時間作為種子的,因為時間時刻在發(fā)生變化的。

在C語言中有個函數(shù)叫time,就可以獲得這個時間,time函數(shù)的原型如下:

time 函數(shù)會返回當前的?歷時間,其實返回的是1970年1?1?0時0分0秒到現(xiàn)在程序運?時間之間的差值,單位是秒。返回的類型是time_t類型的,time_t 類型本質上其實就是32位或者64位的整型類型

如果 timer 是NULL,就只返回這個時間的差值。time函數(shù)返回的這個時間差也被叫做:時間戳。

具體使用如下:

OK,現(xiàn)在隨機數(shù)的生成我們已經(jīng)解決,那我們要生成1到100之間的隨機數(shù)我們該如何去做那:

rand%100;  余數(shù)的范圍是0到99;

rand%100 + 1 ;范圍是1到100;

3.代碼

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

//游戲邏輯
void game()
{
     int r = rand() % 100 + 1;
     int guess = 0;
     int count = 5;    
     while (count)
     {
         printf("\n你還有%d次機會\n", count);
         printf("請猜數(shù)字>:");
         scanf("%d", &guess);
         if (guess < r)
         {
             printf("猜?了\n");
         }
         else if (guess > r)
         {
             printf("猜?了\n");
         }
         else
         {
             printf("恭喜你,猜對了\n");
             break;
         }
             count--;
     }

         if (count == 0)
         {
             printf("你失敗了,正確值是:%d\n", r);
         }
}

//菜單
void menu()
{
     printf("***********************\n");
     printf("****** 1. play ******\n");
     printf("****** 0. exit ******\n");
     printf("***********************\n");
}

int main()
{
    int input = 0;
    srand((unsigned int)time(NULL));
    do
    {
       menu();
       printf("請選擇:>");
       scanf("%d", &input);
    switch (input)
    {
       case 1:
             game();
       break;
       case 0:
             printf("游戲結束\n");
             break;
       default:
             printf("選擇錯誤,重新選擇\n");
             break;
    }


    }while (input);

     return 0;
}

總結 

到此這篇關于C 語言實現(xiàn)猜數(shù)字小游戲的文章就介紹到這了,更多相關C 語言猜數(shù)字小游戲內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • C語言實現(xiàn)紙牌游戲之小貓釣魚算法

    C語言實現(xiàn)紙牌游戲之小貓釣魚算法

    這篇文章主要為大家詳細介紹了C語言實現(xiàn)紙牌游戲之小貓釣魚算法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-01-01
  • 關于C語言除0引發(fā)的思考

    關于C語言除0引發(fā)的思考

    很多 C 庫都提供了一組函數(shù)用來判斷一個浮點數(shù)是否是無窮大或 NaN。int _isnan(double x) 函數(shù)用來判斷一個浮點數(shù)是否是 NaN,而 int _finite(double x) 用以判斷一個浮點數(shù)是否是無窮大
    2013-08-08
  • C語言實現(xiàn)高精度加法

    C語言實現(xiàn)高精度加法

    這篇文章主要為大家詳細介紹了C語言實現(xiàn)高精度加法,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-05-05
  • C++使用宏函數(shù)實現(xiàn)單例模板詳解

    C++使用宏函數(shù)實現(xiàn)單例模板詳解

    在我們日常開發(fā)中,無可避免需要使用單例模式進行設計類對象。這篇文章主要介紹了如何使用宏函數(shù)實現(xiàn)單例模板,感興趣的小伙伴可以了解一下
    2023-02-02
  • c語言內存泄漏嚴重的解決方法

    c語言內存泄漏嚴重的解決方法

    這篇文章主要介紹了c語言內存泄漏的解決方法,幫助大家更好的理解和使用c語言開發(fā),感興趣的朋友可以了解下
    2020-09-09
  • C++使用泛型導致的膨脹問題

    C++使用泛型導致的膨脹問題

    這篇文章主要介紹了C++使用泛型導致的膨脹,智能家居主機的嵌入式平臺上使用C++進行開發(fā)。FLASH存儲空間有限,這是必須要考慮的因素,一定要重視,下面我們一起進入文章看看詳細內容
    2021-11-11
  • OnSize、OnSizing和OnGetMinMaxInfo區(qū)別分析

    OnSize、OnSizing和OnGetMinMaxInfo區(qū)別分析

    這篇文章主要介紹了OnSize、OnSizing和OnGetMinMaxInfo區(qū)別分析,需要的朋友可以參考下
    2015-01-01
  • Qt編寫秒表功能

    Qt編寫秒表功能

    這篇文章主要為大家詳細介紹了Qt編寫秒表功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-08-08
  • 基于Matlab實現(xiàn)離散系統(tǒng)分岔圖的繪制

    基于Matlab實現(xiàn)離散系統(tǒng)分岔圖的繪制

    這篇文章主要介紹了如何利用Matlab實現(xiàn)離散分岔圖的繪制,文中的示例代碼講解詳細,對我們學習Matlab有一定的幫助,需要的可以參考一下
    2022-04-04
  • Qt使用QChart實現(xiàn)動態(tài)顯示溫度變化曲線

    Qt使用QChart實現(xiàn)動態(tài)顯示溫度變化曲線

    Qt的QChart是一個用于繪制圖表和可視化數(shù)據(jù)的類,提供了一個靈活的、可擴展的、跨平臺的圖表繪制解決方案,所以本文就將使用QChart實現(xiàn)動態(tài)顯示3個設備的溫度變化曲線,感興趣的可以了解一下
    2023-06-06

最新評論