1. 程式人生 > >用C語言編寫猜數字遊戲

用C語言編寫猜數字遊戲

在編寫一個猜數字遊戲之前,我們來做一些鋪墊工作:

1.函式鋪墊

(1)rand:該函式是用來產生一個隨機數(每次產生的隨機數相同)。如:rand()%100相當於產生一個0~99之間的隨機數;

(2)srand:該函式作用是在呼叫rand函式之前,去設定隨機數 產生器,使得每次產生的隨機數不同。(在一個程式內部被呼叫一次即可);

(3)time:該函式返回一個從當前時間點到計算機起始時間(1970年1月1日0點)之間的差值(隨著時間的變化,差值在變)。

2.程式設計鋪墊:

#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main()
{
	srand((unsigned int)time(NULL));//在呼叫rand函式之前設定隨機數產生器
	printf("%d\n", rand() % 100);//產生0-99之間的隨機數
	return 0;
}
有了以上的鋪墊之後,我們來編寫猜數字遊戲吧!
#include<stdio.h>
#include<time.h>
#include<stdlib.h>
void menu()//編寫目錄
{
	printf("*************************\n");
	printf("*****1.paly***0.exit*****\n");
	printf("*************************\n");
}
void paly_game()
{
	int rand_num = rand() % 100;//產生0--99之間的隨機數
	int tmp = 0;
	while (1)//選擇“1”開始遊戲
	{
		printf("請輸入你要猜的數字:<");
		scanf_s("%d", &tmp);
		if (tmp > rand_num)
		{
			printf("猜大了!\n");
		}
		else if (tmp < rand_num)
		{
			printf("猜小了!\n");
		}
		else
		{
			printf("恭喜你,猜對了!");
		}
	}
}
int main()
{
		int input = 0;
		srand((unsigned int)time(NULL));//srand函式設定隨機數產生器
		do{
		menu();
		printf("請選擇:<\n");
		scanf_s("%d", &input);
		switch (input)
		{
		case 1:
			paly_game();
			break;
		case 0:
			exit(0);
			break;
		default:
			printf("選擇的錯誤!\n");
		}
	} while (input);
	return 0;
}
執行結果: