網站首頁 編程語言 正文
學習完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-04-08 IIS部署ASP.NET?Core項目及常見問題總結_基礎應用
- 2022-08-01 C++簡單又輕松的講解類和對象中友元函數_C 語言
- 2022-12-03 pytorch模型保存與加載中的一些問題實戰記錄_python
- 2022-05-26 Nginx多個前端服務配置方式詳解_nginx
- 2023-03-19 匯編語言LDR指令和LDR偽指令詳解_匯編語言
- 2022-09-19 Tomca啟動閃退問題解決(八大類)_Tomcat
- 2022-08-26 C語言數據結構之隊列的定義與實現_C 語言
- 2023-02-23 Rust個人學習小結之Rust的循環_Rust語言
- 最近更新
-
- 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同步修改后的遠程分支