隨機生成一個數值,你來猜。
工具/原料
個人電腦
C-Free5.0
方法/步驟
首先我們先點開C-Free5.0然後新建一個你猜.c的空白頁面,輸入基本語句。然後保存。
然後我們要解決的問題是如何生成一個隨即數值。
#include
#include
#include
main()
{
int a,b;
srand(time(NULL));
a=1+(rand()%100);//獲得一個100以內的隨機數
printf("%d",a);
}
rand()是“偽隨機數”產生函數,注意,是“偽隨機數”而不是“隨機數”,如果每次srand()給的參數值相同,那麼rand()產生的序列就是相同的。time(NULL)返回的是從某年的1月1日0時0分0秒開始到系統當前時間所經過的秒數,所以如果不是同一秒鐘以內多次運行程序的話,time(NULL)的返回值一定是不同的,用這樣的方式來產生相對比較隨機的序列。
第三步自然是,開始猜的過程,我們這裡用的是while 循環 然後用if語句判斷是否正確,如果正確就用break;跳出循環。當然為了嚴重能不能退出,我們還要作弊下,先看到a的值,我們需要輸出下a的值在while循環之前。
while(a)
{
printf("請輸入你心中想的那個數: ");
scanf("%d",&b);
if(a==b)
break; }
printf("恭喜你猜對了!\n");
好,上面的程序基本功能能用,但是程序整體不是很美觀,缺少提示語句,所以我們加上提示語句。
if(b>a)
printf("你輸入的數值太大。\n");
printf("你輸入的數值太小。\n");
這部分代碼用if語句來實現。
好了我們現在將完整的代碼寫一邊然後進行調試下代碼是否如我們所想的那樣。
#include
#include
#include
main()
{
int a,b;
srand(time(NULL));
a=1+(rand()%100);//獲得一個100以內的隨機數
while(a)
{
printf("請輸入你心中想的那個數: ");
scanf("%d",&b);
if(a==b)
{
printf("恭喜你猜對了!\n");
break; }
if(b>a)
printf("你輸入的數值太大。\n");
printf("你輸入的數值太小。\n");
}
getch();
}
好的如上圖我們可以看到我們的程序很完美,然後編譯後會出現一個exe的程序,這個程序就是我們的小猜數字遊戲,但是我們發現每次等我們猜對後後,就會閃退,我們在程序裡面寫一個 getch();放在最後沒就好了,再重新編譯下。