首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> C >> 關於C

C 語言小項目:猜數字遊戲完整實現(帶菜單循環)

     編輯:關於C

功能需求

  • 主菜單:開始遊戲 / 退出;
  • 遊戲邏輯:隨機生成 1~100 數字,玩家反覆猜測,提示「大了/小了/正確」;
  • 猜中後返回主菜單,可重複遊玩。

代碼結構

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

void printMenu() {
    puts("********************");
    puts("****  1. 開始遊戲  ****");
    puts("****  0. 退出遊戲  ****");
    puts("********************");
}

void playGame() {
    srand((unsigned)time(NULL));
    int target = rand() % 100 + 1;
    int guess;
    while (1) {
        printf("請輸入猜測 (1-100): ");
        scanf("%d", &guess);
        if (guess > target) puts("猜大了!");
        else if (guess < target) puts("猜小了!");
        else { puts("恭喜猜中!"); break; }
    }
}

int main() {
    int choice;
    while (1) {
        printMenu();
        printf("請選擇: ");
        scanf("%d", &choice);
        if (choice == 1) playGame();
        else if (choice == 0) { puts("遊戲結束,再見!"); break; }
        else puts("無效選項!");
    }
    return 0;
}

關鍵點解析

  1. 隨機數種子:srand((unsigned)time(NULL)) 僅在程序啟動時調用一次,避免同一秒內多次調用產生相同序列;
  2. 範圍控制:rand() % 100 + 1 生成 1~100;
  3. 輸入健壯性:生產代碼應檢查 scanf 返回值,防止非數字輸入導致死循環;
  4. 模塊化:菜單、遊戲邏輯分離,便於擴展(如難度選擇、記錄最高分)。

編譯運行

gcc guess_game.c -o guess_game
./guess_game
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved