日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

C语言写出一个随机生成1-100数字的猜数字游戏

發布時間:2023/12/8 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C语言写出一个随机生成1-100数字的猜数字游戏 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

因為要產生1-100的隨機數,所以要用到rand()函數(生成隨機數),但是只是單純使用rand()時,第二次運行玩游戲產生的隨機數和第一次運行玩游戲產生的隨機數相等,這樣一來玩幾次就知道答案了,本來就無聊的游戲更沒趣了,為了每次玩游戲產生的隨機數都不相等,所以在使用rand()時,應該在前面使用一個srand()函數,作用是設置一個產生隨機數的起始坐標,()內的數值決定了你產生的隨機數是多少,所以為了每次產生不一樣的隨機數,我們應該也要把()內的數設置成一個隨機數或者是個不斷改變的數,所以我們可以將我們電腦上的時間放到srand的()內,也就是將時間戳(就是當前計算機的時間減去計算機的起始時間1970年1月1日0分0秒=(xxx秒))放到()內,這樣就可以產生不同的隨機數起始坐標,就可以產生不相等的隨機數。

其中?time(括號里面需要個指針但是我們不需要 所以放個空指針就行? NULL

設置起點一次就行沒必要每次都從新設置 所以放在主函數中就行 沒必要放在game()里

rand() 以及srand()的頭文件為stdlib.h? ?調用計算機時間的函數time的頭文件為time.h

代碼如下

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void kaishicaidan()
{
?? ?printf("*************************\n");
?? ?printf("***** 1.開始 0.結束 *****\n");
?? ?printf("*************************\n");
}
void game()
{
?? ?int c = 0;
?? ?int b = 0;
?? ?b = rand()%100+1; ? ? ? ? ? ? //產生一個1-100的隨機數
?? ?while (1) ? ? ? ? ? ? ? ? ? ?//直到猜對才退出程序
?? ?{
?? ??? ?printf("請輸入一個數字:");
?? ??? ?scanf("%d", &c);
?? ??? ?if (c > b)
?? ??? ?{
?? ??? ??? ?printf("大了\n");
?? ??? ?}
?? ??? ?else if (c < b)
?? ??? ?{
?? ??? ??? ?printf("小了\n");
?? ??? ?}
?? ??? ?else
?? ??? ?{
?? ??? ??? ?printf("對了\n");
?? ??? ??? ?break;
?? ??? ?}
?? ?}?? ?
}
int main()
{
?? ?int a = 0;
?? ?srand((unsigned int)time(NULL)); ? /*放在rand()之前,是每次游戲產生的隨機數都不相同,? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? srand()內要求是?無符號整形所以要強制轉換一下,time()內? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?要求指針,但是這個不太需要,所以加上個空指針NULL就行*/
?? ?do
?? ?{
?? ??? ?kaishicaidan();? ? ? ? ? ? ? ? ?//自制函數開始菜單
?? ??? ?printf("請選擇:");
?? ??? ?scanf("%d", &a);
?? ??? ?switch (a)
?? ??? ?{
?? ??? ?case 1:
?? ??? ??? ?game();? ? ? ? ? ? ? ? ? ? ? //自制函數游戲
?? ??? ??? ?break;
?? ??? ?case 0:
?? ??? ??? ?printf("退出游戲");
?? ??? ??? ?break;
?? ??? ?default:
?? ??? ??? ?printf("輸入錯誤");
?? ??? ??? ?break;
?? ??? ?}
?? ?} while(a); //如果是零就結束循環 ,如果非零就繼續循環
? ? ?return 0;
}

總結

以上是生活随笔為你收集整理的C语言写出一个随机生成1-100数字的猜数字游戏的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。