環球新動態:運用c語言完成簡單的猜數字游戲(隨機數為1到100)

2023-01-11 10:13:19 來源:51CTO博客


(相關資料圖)

要完成一個猜數字游戲首先我們要讓電腦生成一個隨機數,這時候我們就可以使用rand函數這個函數的作用就是返回一個隨機數但如果不先配置隨機數生成器那么就會出現一個問題就是就是每一次重新啟動這個代碼那么生成的隨機數還是你上次游玩時的隨機數,這就不夠隨機這時我們便要使用srand函數來配置隨機數生成器但使用srand函數要運用一個不斷在變化的值這時候我們便可以使用時間戳來配置,而c語言中time函數便可以返回一個時間戳。其中rand和srand函數需要頭文件stdlib.h。time函數需要time.h。這就i是這個代碼最難以實現的bufen。

#include#include#includevoid menu()//這里運用void的目的是我只是需要這個函數創建一個界面不需要它返回給主函數一個值。{  printf("****猜數字游戲****\n");  printf("****1.play******\n");  printf("****0.exit*******\n");  printf("*****************\n");}void game(){  int ret = rand() % 100 + 1;//因為rand函數生成的隨機數范圍為0至RAND_MAX 間過于大,模了100使范圍變成了0到99加上一個1變成了1到100  printf("請猜數字:\n");   int guess = 0;  while (1)  {    scanf("%d", &guess);    if (guessret)    {      printf("猜大了\n");    }    if (guess == ret)    {      printf("恭喜你,猜對了\n");      break;    }  }}int main(){      int input = 0;    srand((unsigned)time(NULL));//因為在使用time函數時要給與它一個指針但我們不需要所以便傳給它一個空指針同時由于srand函數需要的是unsigned數據類型的變化值所以我們還得讓時間戳強制轉換類型    do    {      menu();//這個就是簡單的界面函數      printf("請選擇:<");      scanf("%d", &input);      switch (input)      {      case 1:        game();      case 0:        break;        printf("退出游戲");        break;      default:        printf("選擇錯誤,請重新選擇");        break;      }    } while (input);//這里放input意思就是當你選擇了0后便會終止循環退出游戲。  return 0;}

運行結果

標簽: 隨機數生成器 退出游戲 函數生成

上一篇:48-Docker-多容器數據共享及持久化
下一篇:焦點熱訊:H5直播技術起航