完成猜數字遊戲 //C語言 猜數字遊戲(編寫過程詳解)
阿新 • • 發佈:2019-02-16
int i, j, k;
int num = 0;
/*生成隨機數字*/
num = rand();
printf("%d\n", num);
選擇玩遊戲還是退出
void play(int x)
{
printf("%d\n", x);
printf("開始遊戲");
}
scanf("%d", &k);
switch (k)
{
case 1:
play(num);
case 2:
break;
}
迴圈玩遊戲程式
void play(int x) { printf("%d\n", x); printf("開始遊戲"); printf("遊戲結束"); } int main() { int i, j, k; int num = 0; /*生成隨機數字*/ num = rand(); printf("%d\n", num); again: { scanf("%d", &k); switch (k) { case 1: play(num); goto again; case 2: break; } }
書寫玩遊戲內部程式
void play(int x)
{
int number=0;
printf("請輸入數字\n");
again_1:
{
scanf("%d", &number);
while (number != x)
{
if (number > x)
{
printf("Big"); goto again_1;
}
else
{
printf("Small"); goto again_1;
}
}printf("Right\n請選擇\n\n");
}
}
到這裡遊戲的整體框架編譯完成,可以正常執行。但是我們發現每一次的數字都是41(或者其他固定數字)
/* ***猜數字遊戲 */ void play(int x) { int number=0; printf("請輸入數字\n"); again_1: { scanf("%d", &number); while (number != x) { if (number > x) { printf("Big"); goto again_1; } else { printf("Small"); goto again_1; } }printf("Right\n請選擇\n\n"); } } int main() { int i, j, k; int num = 0; /*生成隨機數字*/ num = rand(); again: { printf("開始遊戲\n1.開始\n2.退出\n"); scanf("%d", &k); switch (k) { case 1: play(num); goto again; case 2: break; } } system("pause"); return 0; }
關於<time.h>標頭檔案
生成隨機數字
/*生成隨機數字*/
//num = rand();
srand(time(NULL));
num = rand() % 100
最後完成的程式
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
/*
***猜數字遊戲
*/
void play(int x)
{
int number=0;
printf("請輸入數字\n");
again_1:
{
scanf("%d", &number);
while (number != x)
{
if (number > x)
{
printf("Big\n"); goto again_1;
}
else
{
printf("Small\n"); goto again_1;
}
}printf("\n***Right***\n *********\n ******\n ****\n **\n");
}
}
int main()
{
int k;
int num = 0;
/*生成隨機數字*/
//num = rand();
srand(time(NULL));
num = rand() % 100;
again:
{
printf("開始遊戲\n1.開始\n2.退出\n");
scanf("%d", &k);
switch (k)
{
case 1:
play(num);
goto again;
case 2:
break;
}
}
system("pause");
return 0;
}
詳細介紹的關於隨機生成數字的解析
https://mp.csdn.net/postedit/79788815