1. 程式人生 > 程式設計 >用C語言實現猜數字遊戲

用C語言實現猜數字遊戲

本文例項為大家分享了C語言實現猜數字的具體程式碼,供大家參考,具體內容如下

問題:計算機隨機生成一個數字,使用者進行猜數字,當用戶猜錯時,提醒使用者猜高/猜低,直到使用者猜的數字與計算機給的隨機數一致時,提示猜對了並結束本次遊戲。

思路:整個程式分為三個部分。

1、使用printf完成一個主選單,方便使用者操作。
2、寫一個game函式,完成猜數字遊戲的過程。
3、主函式,呼叫game函式,最終實現猜數字遊戲。

重點:如何生成一個隨機數。

如果直接使用to_guess = rand() % 100 + 1,可以生成一個1~100之間的隨機數,但每次重新執行程式,產生的隨機數都是固定的,這就需要我們想辦法來解決這個問題。通過srand函式來設定隨機種子,並藉助time函式讓每次產生的隨機數序列都完全不同。

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
void menu() {
  printf("****************************\n");
  printf("   猜數字遊戲   \n");
  printf(" 1、開始遊戲,0、結束遊戲 \n");
  printf("   請輸入0或1   \n");
  printf("****************************\n");
  return;
}
void game() {
  int num = 0;
  int to_guess = rand() % 100 + 1;
  while (1) {
     printf("請輸入猜的數字:\n");
     scanf("%d",&num);
     if (num > to_guess) {
       printf("高了!\n");
     }
     else if (num < to_guess) {
       printf("低了!\n");
     }
     else {
       printf("恭喜你猜對了!\n");
       break;
     }
  }
}
int main() {
  int a;
  menu();
  srand((unsigned int) time(0));
  while (1) {
    printf("請輸入您的選擇:\n");
     if (scanf("%d",&a)) {
       if(a==1) {
         game();
     }
      else if (a == 0) {
         printf("goodbye!\n");
         break;
       }
       else {
         printf("您的輸入有誤,請重新輸入\n");
       }
     }
  }
  system("pause");
  return 0;
}

執行結果:

用C語言實現猜數字遊戲

更多有趣的經典小遊戲實現專題,分享給大家:

C++經典小遊戲彙總

python經典小遊戲彙總

python俄羅斯方塊遊戲集合

JavaScript經典遊戲 玩不停

javascript經典小遊戲彙總

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