中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

使用C語言制作一個猜數字游戲

發布時間:2021-05-10 17:04:19 來源:億速云 閱讀:168 作者:Leah 欄目:開發技術

本篇文章為大家展示了使用C語言制作一個猜數字游戲,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

C語言是什么

C語言是一門面向過程的、抽象化的通用程序設計語言,廣泛應用于底層開發,使用C語言可以以簡易的方式編譯、處理低級存儲器。

一、先生成一個【1,100】的隨機整數

C語言的標準庫中已經包含了很多現成的功能,rand可以生成一個隨機整數,可以查閱cplusplus文檔。瀏覽器輸入www.cplusplus.com。cstdlib這是C++風格的寫法,stdlib.h是C語言風格的寫法,C++也可以用stdlib.h.C語言中函數參數如果沒有,可以直接寫(),也可以寫作(void),但是返回值不可忽略void,一些老的編譯器例如VC6,函數的返回值也可以忽略,如果省略返回值,表示返回值類型為int。

使用C語言制作一個猜數字游戲

由上述文章可以看出,我們要生成【1,100】的隨機整數,是rand()%100+1
注意:這里提示大家:rand這個函數以后在工作中,要謹慎使用,多線程,rand函數線程不安全,實際開發中如果對于隨機數要求的不嚴格的話,就可以有很多中代替rand的方案來實現,例如,可以使用某個變量的地址來代替。

二、提示用戶進行交互

加上一個和用戶交互的菜單。代碼如下:

int menu()
{
 printf("*********************\n");
 printf("歡迎來到猜數字游戲!\n");
 printf("1.開始游戲\n");
 printf("2.退出游戲\n");
 printf("請輸入您的選擇\n");
 printf("*********************\n");
 int choice = 0;
 scanf("%d", &choice);
 return choice;
}

三、偽隨機和真隨機

偽隨機數是通過一定算法獲得一個隨機的值,并不是真的隨機。
真隨機數是伴隨著物理實驗的,比如:拋硬幣、擲骰子、電子元件的噪音、核裂變等,他的結果符合三大特性的。是真實的隨機數。
當我們就按rand來執行程序時,會發現每次執行的隨機數都是一樣的,這就是偽隨機。那么如何生成真正的隨機數呢,我們可以使用srand。只需要讓每次執行程序的時候,設置的隨機種子不一樣即可,我們就會想到時間,時間是永遠在變化的。計算機里表示時間,正是通過整數的方式來表示的,叫做時間戳,是很重要的。時間戳是以1970年1月1日0時0分0秒為基準時刻,計算當前時刻和基準時刻的秒數之差。
time(0)獲取時間戳,需要包含頭文件time.h。time函數返回類型叫time-t,time本質上是一個unsigned long long。所以會需要強制類型轉換,把time-t結果強制轉換為unsigned int。(這樣做也許會丟數據,目的是為了讓編譯器不必提示這個警告)。
srand((unsigned int)time(0));

四、整體程序實現

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

int menu()
{
 printf("*********************\n");
 printf("歡迎來到猜數字游戲!\n");
 printf("1.開始游戲\n");
 printf("2.退出游戲\n");
 printf("請輸入您的選擇\n");
 printf("*********************\n");
 int choice = 0;
 scanf("%d", &choice);
 return choice;
}
void game()
{
 printf("開始一局猜數字游戲\n");
 int toGuess = rand() % 100 + 1;
 while (1) {
  int inputNum = 0;
  printf("請猜一個1-100的整數\n");
  scanf("%d", &inputNum);
  if (inputNum > toGuess) {
   printf("猜高了!\n");
  }
  else if (inputNum < toGuess) {
   printf("猜低了!\n");
  }
  else {
   printf("猜對了!\n");
   break;
  }
 }
}
int main()
{
 srand((unsigned int)time(0));
 int choice = menu();
 while (1) {
  if (choice == 1) {
   game();
   break;
  } else if (choice == 0) {
   printf("goodbye!\n");
   break;
  } else {
   printf("您的輸入有誤!\n");
   }
  }
  system("pause");
  return 0;
}
}

上述內容就是使用C語言制作一個猜數字游戲,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

册亨县| 湛江市| 宝应县| 通辽市| 蒙自县| 乌海市| 福建省| 锦州市| 龙江县| 海宁市| 潞城市| 房山区| 华阴市| 沅陵县| 桦甸市| 徐水县| 龙里县| 大连市| 察隅县| 西华县| 朝阳县| 水城县| 怀来县| 临澧县| 永靖县| 曲周县| 建宁县| 井研县| 灵武市| 平顺县| 长治市| 绍兴县| 高州市| 临洮县| 柏乡县| 临安市| 玉龙| 成安县| 包头市| 钦州市| 隆回县|