在學習了循環語句結構之後,我們來做一個簡單的猜數字遊戲。
在很受歡迎的綜藝快樂大本營中,有一個很好玩的遊戲叫做深水炸彈,也就是
今天我們要實現的猜數字遊戲。原理就是由電腦隨機產生一個數字,然後由你
訴你猜大了,然後你就可以找到一個區間繼續猜,以此循環,直到猜正確。
接下來就對理論進行實踐。
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<time.h>
#include<stdlib.h>
void menu()
{
printf("*******************\n");
printf("**1.play 0.exit**\n");
printf("*******************\n");
}
void play_game()
{
int rand_num = rand() % 100;
int tmp = 0;
while (1)
{
printf("請輸入你猜得的數字:");
scanf("%d", &tmp);
if (tmp == rand_num)
{
printf("恭喜你,猜對了!\n");
break;
}
else if (tmp > rand_num)
{
printf("猜大了!\n");
}
else
{
printf("猜小了!\n");
}
}
}
int main()
{
int input = 0;
srand((unsigned)time(NULL));
do
{
menu();
printf("請選擇:");
scanf("%d", &input);
switch (input)
{
case 1:
play_game();
break;
case 0:
break;
default:
printf("選擇錯誤。");
break;
}
} while (input);
}
在這個遊戲的實現過程中,除了對循環語句結構的應用之外,還運用了一個
函數rand(),用來產生一個隨機數,在使用rand()函數之前,必須要調用個
srand()函數來形成一個隨機數產生器,但是在使用的過程中,srand()
函數只需要調用一次就好,調用多次可能會出現期望之外的結果。