網站首頁 編程語言 正文
學習完c語言循環、選擇內容,我們對c語言有個初步的認識了,讓我們來實現一個小項目吧!!!
1.猜數字小項目分析:
我們利用c語言制造出隨機數來猜,在只知道范圍的前提下我們無非有以下三種可能,猜大了、猜小了、猜對了。如果猜錯了我們讓玩家繼續猜直到猜對為止,若猜對了給出選擇是否繼續玩哈!!!
2.項目實現
我們定義兩個函數
菜單函數
void menu() { ?? ?printf("********************\n"); ?? ?printf("***** 1.play *******\n"); ?? ?printf("***** 0.exit *******\n"); ?? ?printf("********************\n"); }
游戲函數
?void game() { ?? ?int ret = rand() % 100 + 1;//為了產生1到100的隨機數 ?? ?int guess = 0; ?? ?while (1) ?? ?{ ?? ??? ?printf("請輸入->"); ?? ??? ?scanf("%d", &guess); ?? ??? ?printf("\n"); ?? ??? ?if (guess == ret) ?? ??? ?{ ?? ??? ??? ?printf("太棒了,你猜對了!!!\n\n"); ?? ??? ??? ?break; ?? ??? ?} ?? ??? ?else if (guess < ret) ?? ??? ?{ ?? ??? ??? ?printf("猜小了!!!\n\n"); ?? ??? ?} ?? ??? ?else? ?? ??? ?{ ?? ??? ??? ?printf("猜大了!!!\n\n"); ?? ??? ?} ?? ?} }
若想使界面看著美觀可自行修改哈!
在制造隨機數時可能出現問題,要加上隨機種子要不然你有作弊的嫌疑哦。嘿嘿!!!
在項目里加上時間戳就可了。哈哈哈。
3.完整代碼如下
#include<stdio.h> #include<time.h> void menu() { ?? ?printf("********************\n"); ?? ?printf("***** 1.play *******\n"); ?? ?printf("***** 0.exit *******\n"); ?? ?printf("********************\n"); } void game() { ?? ?int ret = rand() % 100 + 1;//產生1到100隨機數 ?? ?int guess = 0; ?? ?while (1) ?? ?{ ?? ??? ?printf("請輸入->"); ?? ??? ?scanf("%d", &guess); ?? ??? ?printf("\n"); ?? ??? ?if (guess == ret) ?? ??? ?{ ?? ??? ??? ?printf("太棒了,你猜對了!!!\n\n"); ?? ??? ??? ?break; ?? ??? ?} ?? ??? ?else if (guess < ret) ?? ??? ?{ ?? ??? ??? ?printf("猜小了!!!\n\n"); ?? ??? ?} ?? ??? ?else? ?? ??? ?{ ?? ??? ??? ?printf("猜大了!!!\n\n"); ?? ??? ?} ?? ?} } int main() { ?? ?int input=0; ? ?? ?srand((unsigned int)time(NULL));//導入隨機種子 ? ?? ?do ?? ?{ ?? ??? ?menu(); ?? ??? ?printf("請選擇->"); ?? ??? ?scanf("%d", &input); ?? ??? ?printf("\n"); ?? ??? ?switch (input) ?? ??? ?{ ?? ??? ?case 1: ?? ??? ??? ?printf("開始游戲\n\n"); ?? ??? ??? ?game(); ?? ??? ??? ?break; ?? ??? ?case 0: ?? ??? ??? ?printf("退出游戲"); ?? ??? ??? ?break; ?? ??? ?default: ?? ??? ??? ?printf("輸入錯誤,請重新輸入!!!\n"); ?? ??? ?} ? ?? ?} while (input); ?? ?return 0; }
原文鏈接:https://blog.csdn.net/weixin_52822783/article/details/122523369
- 上一篇:C語言入門之淺談數據類型和變量常量_C 語言
- 下一篇:C#算法之整數反轉_C#教程
相關推薦
- 2022-05-18 C/C++實現segy文件的讀取詳解_C 語言
- 2022-04-27 剖析后OpLog訂閱MongoDB的數據變更就沒那么難了_MongoDB
- 2023-10-16 element組件autofocus( 自動獲取焦點)失效
- 2022-04-09 python多線程互斥鎖與死鎖問題詳解_python
- 2022-06-25 分享Pytest?fixture參數傳遞的幾種方式_python
- 2022-12-15 Go字典使用詳解_Golang
- 2022-07-22 yaml文件的加載使用
- 2023-07-04 Guava 之 EventBus
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支