最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C語言實現(xiàn)簡單猜數(shù)字游戲

 更新時間:2021年08月01日 08:54:48   作者:快樂的星球  
這篇文章主要為大家詳細介紹了C語言實現(xiàn)簡單猜數(shù)字游戲,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

前言

對于c語言初學者來說用c語言實現(xiàn)猜數(shù)字游戲是基本的問題,本篇文章會細致的講解如何用代碼來實現(xiàn)猜數(shù)字游戲。希望讀者在閱讀本篇博客前學習玩分支與循環(huán)和最基本的c語言語法知識。

提示:以下是本篇文章正文內容,下面案例可供參考

一、預期實現(xiàn)猜數(shù)字游戲的功能

1:什么是猜數(shù)字游戲

猜數(shù)字游戲顧名思義是電腦隨機生成一個數(shù)字,讓玩家來猜。如果沒猜對,電腦會提示玩家猜大了還是猜小了,玩家可以多次嘗試,直到玩家猜對了本次游戲就結束。

2:預期效果

在實現(xiàn)猜數(shù)字的基礎上,玩家如果覺得不過癮可以選擇再來一次,如果玩膩了,也可以選擇退出游戲

二、具體思路講解

1.總體思路

為了實現(xiàn)游戲的基本功能,我們應該有一個游戲菜單,通過菜單玩家可以選擇是進入游戲還是退出游戲,且為了可以使該游戲可以反復玩,這個過程應該是一個循環(huán),選擇退出游戲時就打破這個循環(huán)。為了使代碼具有條理性我們定義唯一的主函數(shù),然后按功能寫子函數(shù),讓每一個子函數(shù)都有其意義。綜上我們需要打印菜單模塊的一個子函數(shù)和游戲實現(xiàn)(包括電腦生成隨機數(shù)和玩家可以循環(huán)多次猜數(shù)字的功能)的子函數(shù),不妨把是否選擇進入游戲放在主函數(shù)里。

2.菜單功能的實現(xiàn)

因為我們把選擇過程放在主函數(shù)里,所以菜單功能十分簡單。代碼示例如下

void menu()
{ 
 printf("*****歡迎來到猜數(shù)字游戲*****\n");
 printf("********1:進入游戲*********\n");
 printf("********0:退出游戲*********\n");
 printf("****************************\n");
}

3.主函數(shù)部分的實現(xiàn)

因為程序從主函數(shù)開始運行,到主函數(shù)結束時結束,所以主函數(shù)應該起到搭建整個游戲基本框架的功能。主函數(shù)不僅要實現(xiàn)是否選擇進入游戲還應該合理引用menu()和game()使整個程序形成有機的整體。

int main()
{
 srand((unsigned)time(NULL));//定義一個隨機生成數(shù),注意不能把它放在循環(huán)語句中,否則會使生成的數(shù)字不夠隨機
 
 int input = 0;
 do
 {
  menu();
  printf("請輸入你的選擇:");
  scanf("%d",&input);
  if (input == 1)
  {
   game();//選擇玩游戲則調用game()函數(shù)進行游戲功能的實現(xiàn)
  }
  else if (input == 0)
  {
   printf("游戲已經退出");
   break;//因為while判斷條件,所以此句非必須
  }
  else
  {
   printf("您輸入的是無效指令,請重新輸入\n");//因為只有1和0才有意義,但玩家可能輸入其它數(shù)字,此處應給提示
  }
 
 } while (input != 0);
 return 0;
}

4.游戲game()函數(shù)的代碼實現(xiàn)

在game()中我們要實現(xiàn)兩個功能1:電腦隨機生成一個1-100之間的隨機數(shù)。2:玩家進行猜數(shù)字游戲,其中c語言實現(xiàn)生成隨機數(shù)的原理復雜,需先定義一個隨機數(shù)生成起點,再用rand()函數(shù)進行生成隨機數(shù)。

代碼如下:

void game()
{
 //1:實現(xiàn)1-100之間的隨機數(shù)的生成
 int random_num = rand()%100+1;//rand()是隨機數(shù)生成函數(shù)需要搭配srand((unsigned)time(NULL))使用
 //2:進入玩家猜數(shù)字環(huán)節(jié)
 while (1)
 {
  int guess = 0;//guess中儲存的是玩家猜測的數(shù)字
  printf("請輸入猜測的數(shù)字:");
  scanf("%d", &guess);
  if (guess < random_num)
   printf("猜小了\n");
  else if (guess > random_num)
   printf("猜大了\n");
  else
  {
            printf("恭喜你猜對了\n");
   break;//為了防止死循環(huán),若猜對了應打破循環(huán)
  }   
 }
}

其中game需引用的頭文件是#include<stdlib.h>

srand((unsigned)time(NULL))需引用的頭文件是#include<time.h>

5.總程序代碼

如下:

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
//游戲規(guī)則
//1:電腦隨機生成一個1-100之間的數(shù)字
//2:玩家進行猜數(shù)字 電腦會提示猜大了或者猜小了直到玩家猜對游戲結束
//3:游戲可以重復玩,即玩家玩完一把后可選擇再玩一把或者是直接退出
void menu()
{ 
 int input = 0;
 printf("*****歡迎來到猜數(shù)字游戲*****\n");
 printf("********1:進入游戲*********\n");
 printf("********0:退出游戲*********\n");
 printf("****************************\n");
}
void game()
{
 //1:實現(xiàn)1-100之間的隨機數(shù)的生成
 int random_num = rand()%100+1;//rand()是隨機數(shù)生成函數(shù)需要搭配srand((unsigned)time(NULL))使用
 //2:進入玩家猜數(shù)字環(huán)節(jié)
 while (1)
 {
  int guess = 0;//guess中儲存的是玩家猜測的數(shù)字
  printf("請輸入猜測的數(shù)字:");
  scanf("%d", &guess);
  if (guess < random_num)
   printf("猜小了\n");
  else if (guess > random_num)
   printf("猜大了\n");
  else
  {
            printf("恭喜你猜對了\n");
   break;//為了防止死循環(huán),若猜對了應打破循環(huán)
  }   
 }
}
int main()
{
 srand((unsigned)time(NULL));
 
 int input = 0;
 do
 {
  menu();
  printf("請輸入你的選擇:");
  scanf("%d",&input);
  if (input == 1)
  {
   game();
  }
  else if (input == 0)
  {
   printf("游戲已經退出");
   break;
  }
  else
  {
   printf("您輸入的是無效指令,請重新輸入\n");
  }
 
 } while (input != 0);
 return 0;
}

三.常見錯誤

1.再game()中把隨機數(shù)語句段放在while循環(huán)中,導致在游戲過程中,每猜一次隨機數(shù)變化一次,導致如果第一次猜不對,就一直猜不對。

2.在game()中每次猜數(shù)字后if判斷條件寫錯,導致原本猜大了電腦顯示猜小了,原本猜小了顯示猜大了,這樣除非第一次猜對否則永遠猜不對。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • C++使用遞歸和非遞歸算法實現(xiàn)的二叉樹葉子節(jié)點個數(shù)計算方法

    C++使用遞歸和非遞歸算法實現(xiàn)的二叉樹葉子節(jié)點個數(shù)計算方法

    這篇文章主要介紹了C++使用遞歸和非遞歸算法實現(xiàn)的二叉樹葉子節(jié)點個數(shù)計算方法,涉及C++二叉樹的定義、遍歷、統(tǒng)計相關操作技巧,需要的朋友可以參考下
    2017-05-05
  • C/C++編譯器GCC下的常用編譯命令總結

    C/C++編譯器GCC下的常用編譯命令總結

    這篇文章主要介紹了C/C++編譯器GCC下的常用編譯命令總結,本文的示例環(huán)境為Linux系統(tǒng),需要的朋友可以參考下
    2015-08-08
  • 淺談C++11中=delete的巧妙用法

    淺談C++11中=delete的巧妙用法

    本文主要介紹了C++11中=delete的巧妙用法,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • C++實現(xiàn)獲取本機MAC地址與IP地址

    C++實現(xiàn)獲取本機MAC地址與IP地址

    這篇文章主要為大家詳細介紹了C++實現(xiàn)獲取本機MAC地址與IP地址的兩種方式,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學習一下
    2025-02-02
  • C/C++字符串查找函數(shù)全面了解

    C/C++字符串查找函數(shù)全面了解

    下面小編就為大家?guī)硪黄狢/C++字符串查找函數(shù)全面了解。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-09-09
  • C語言中if語句加大括號和不加大括號的區(qū)別介紹

    C語言中if語句加大括號和不加大括號的區(qū)別介紹

    這篇文章主要給大家介紹了關于C語言中if語句加大括號和不加大括號的區(qū)別,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-12-12
  • C++實現(xiàn)屏幕截圖

    C++實現(xiàn)屏幕截圖

    這篇文章主要為大家詳細介紹了C++實現(xiàn)屏幕截圖功能,截圖自動保存為png格式文件,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-05-05
  • C語言報錯:Format String Vulnerability的多種解決方案

    C語言報錯:Format String Vulnerability的多種解決方案

    Format String Vulnerability(格式化字符串漏洞)是C語言中常見且嚴重的安全漏洞之一,它通常在程序使用不受信任的輸入作為格式化字符串時發(fā)生,本文將詳細介紹Format String Vulnerability的產生原因,提供多種解決方案,需要的朋友可以參考下
    2024-06-06
  • C語言函數(shù)指針的使用詳解

    C語言函數(shù)指針的使用詳解

    在C語言中,函數(shù)指針是指向函數(shù)的指針變量,本文主要介紹了C語言函數(shù)指針的使用詳解,具有一定的參考價值,感興趣的可以了解一下
    2024-01-01
  • 一文帶你深入了解Qt中的順序容器類與關聯(lián)容器類

    一文帶你深入了解Qt中的順序容器類與關聯(lián)容器類

    Qt中也有很多容器類,他們在存取速度、內存開銷等方面進行了優(yōu)化,使用起來更輕量級、更便捷,下面就跟隨小編一起來學習一下它們的具體使用吧
    2024-04-04

最新評論

汉川市| 永登县| 镇巴县| 建昌县| 墨脱县| 葫芦岛市| 宿迁市| 旬阳县| 灵石县| 雅江县| 英超| 隆林| 望都县| 洛宁县| 六盘水市| 元氏县| 乐陵市| 兴宁市| 兴业县| 丹寨县| 仪陇县| 榕江县| 平潭县| 林西县| 吉隆县| 邵阳市| 岱山县| 福海县| 北票市| 贵州省| 肇州县| 吴旗县| 吴川市| 桃园县| 巩义市| 尼勒克县| 桦南县| 宝鸡市| 修武县| 九寨沟县| 新建县|