1樓:龍叔
如果題主對演算法感興趣的話,可以用C去實現各種演算法,如鍊表、樹、圖和排序等等,刷一刷LeetCode,每實現乙個演算法你都會非常有成就感的
如果對遊戲感興趣,可以嘗試用C編寫一些簡單的遊戲,如貪吃蛇、打磚塊、俄羅斯方塊等等,不需要圖形介面,只要掌握C語言基本的語法即可實現上述的小遊戲,以下是我用C語言編寫的小遊戲,題主可以參考一下
龍叔:貪吃蛇(1)
龍叔:打磚塊(一)
龍叔:俄羅斯方塊(一)
2樓:凍椰子IcyCoconut
呃,我不知道你有多初學者啊,就推薦幾個適用於各種水平的小專案,初學者哪怕做不出來,能寫一半也是有幫助的。
1. 數獨破解器
這是乙個很好用的練習project。不同水平的人能寫出截然不同的東西。
你先從嘗試破解最簡單的數獨開始,
輸入n個形如(x,y,v)的三元組,x,y,v分別表示某個已知格仔的行,列和值。比如(0,0,3)代表第1行第1列的格仔中有乙個3。
注意,初學者別選難的數獨,盡量找能用簡單排除法解的最簡單的,因為很多難的數獨解到一半會出現更複雜的情況。也可以視自己實力去解更複雜的數獨。
這個主要能練指標,二維陣列,這個專案條件判斷和迴圈會比較多,能鞏固一些邏輯推導能力,
2. 簡單解方程程式
輸入表示簡單四則運算方程的字串比如"x - 3 = 5",或"(x + 8)*2 = x"。程式要能解出x。當然實力強一點可以引入乘方,根號,對數啥的。
這個主要能練字串處理。
3. 遊戲對抗模擬器
很多包含角色之間對抗的遊戲都有複雜的數值,比如暴擊率,攻擊速度,血量,護甲,攻擊力等等。如何強化角色或分配裝備才能最大化角色的實力經常是乙個問題(通常是對操作佔比不大的遊戲更有用),尤其是涉及各種概率數值的時候,不經過大量的測試和統計很難下定論說哪個出裝/強化/培養方案更優。然而你自己一局一局打並統計結果這種做法很明顯不夠程式設計師。
輸入角色1和角色2的所有數值(可以是同一角色不同屬性)。程式要自動模擬兩個角色戰鬥,迴圈100~1000次,一半次數角色1先手,一半次數角色2先手,分別統計角色1和角色2勝利次數。
舉個簡單例子:
角色1: 血量1000,攻擊力10,50%概率暴擊造成1.5倍傷害,20%概率連續攻擊兩次
角色2: 血量1000,攻擊力10,20%概率暴擊造成1.5倍傷害,40%概率連續攻擊兩次
角色1攻擊角色2,觸發暴擊,角色2血量-15,角色2攻擊角色1,未觸發效果,角色1血量-10 ... ... 角色2攻擊角色1,觸發連擊,角色1血量-20,角色1死亡。
角色2勝利次數+1 ... ... 角色1勝利450次,角色2勝利550次。
結論: 目前情況下連擊裝小佔優勢。(這個結果瞎編的,打個比方)
這個例子比較簡單,直接筆算就能算出來,初學者完全可以嘗試程式設計,但是如果你引入護甲,閃避率,命中率,等等更多概率數值,甚至引入每隔一段時間發動的技能效果(並合理估算技能命中率)。那可就不能筆算了。只要你的模擬正確,這個程式可以幫你快速生成大量的對抗資料,幫助你在各種遊戲中選擇最好的角色出裝/強化/培養方案。
算既能練手又有點用的程式。
對於更強的人: 允許30個可以自由分配的技能點/屬性點,求如何分配效果最佳~~~
4. 其他
各種排序演算法
各種資料結構
各種棋類遊戲
各種撲克牌遊戲
貪吃蛇/俄羅斯方塊/飛機大戰
日期計算器: 比如2019.11.18加100天是什麼日期
想自學C語言,有沒有推薦適合初學者的程式設計軟體?
無海 1 首先你得搞明白自學C最終是幹什麼用的?2 C C 能做什麼?C C 可以說是一門通用性的語言了,目前基本都用於底層開發,比如 3 可迭代性 不建議東一槍,西一炮的學習,先做目標與計畫,然後實施,否則會學的很雜很亂也很難系統化。 EventLi visual studio code簡便輕量,...
有沒有適合吉他初學者彈的曲子?
彈結他的小朋友 剛開始接觸吉他的時候肯定是先練C大調的音階,掌握了一些基礎後就應該找點入門級別的簡單歌曲來鞏固知識,也能找到玩結他的一些感覺。那麼新手最合適練哪些歌曲呢?下面蒐集了初學者必練的10首歌,老鳥都耳熟能詳了,寫給新人看 1 Romance,這首歌是入門的經典歌曲,涉及到的品位挺多,非常適...
有沒有適合韓語初學者唱的韓語歌曲?
韓語翻譯 比如 三隻小熊 有三隻小熊,住在一起 熊爸爸,熊媽媽,熊寶寶 熊爸爸胖胖的 熊媽媽 很苗條,熊寶寶 非常可愛 嗚呼嗚呼好棒喲 有三隻小熊,住在一起 熊爸爸,熊媽媽,熊寶寶 熊爸爸呀 身體強壯 熊媽媽呀 美麗漂亮 熊寶寶呀 好可愛呦 一天一天長大啦 黎泊鹿 IU的 心 可以試一試,每個字都是...