C 語言物理建模:自由落體反彈高度與總路程計算
問題 球從 100m 高度落下,每次落地反彈至原高度一半。求第 10 次落地時總路程、第 10 次反彈高度。 數學模型 第 1 次落地:下落 100m; 第
C 語言邏輯推理題:誰是兇手(殺死比爾 5)
題目 四嫌疑人供詞: A:不是我; B:是 C; C:是 D; D:C 在胡說。 已知 3 人說真話,1 人說假話。編程找出兇手。 邏輯建模 設兇手為 k
C 語言字符串反轉三種實現:雙指針交換、遞歸打印、遞歸原地反轉
方法一:雙指針原地交換(最通用、O(1) 空間) char *reverse(char *str) { if (!str) return NULL;
C 語言手寫 strstr:子串查找暴力匹配算法實現
算法邏輯(暴力匹配) 外層遍歷主串 str1 每個起始位置 i; 內層從 i 開始比對模式串 str2; 若全匹配成功,返回 str1+i; 主串遍歷結束未找
C 語言字符串指針與字符數組本質區別深度解析
核心區別速覽 特性字符指針 char *p字符數組 char arr[] 存儲內容字符串首地址字符串所有字符 字符串位置常量區(只讀)或堆/棧棧/數據區(可讀
C語言手寫 strcat 字串連接:尋找末尾追加、重疊風險、標準庫替代
標準 strcat 語義 將 src 追加到 dest 末尾 (覆蓋 dest 的 \0),回傳 dest。dest 必須有足夠空間。 手寫實作 char *
C語言遞迴/迭代實作字串複製 strcpy:指針遞增與結束符處理
標準 strcpy 語義 複製 src (含 \0) 到 dest,回傳 dest。呼叫者保證 dest 空間足夠。 手寫實作三版本 1. 指針迭代 (經典
C語言運算子優先級完整表與口訣:15 級從高到低、易錯點、結合方向
優先級完整表 (高→低) 級運算子說明結合 1 .函數調用、下標、成員訪問左→右 2! ~ ++ -- + - * & (type) sizeof單目運算子右
C語言指針與陣列核心差異:字串字面量、修改權限、記憶體佈局
兩種宣告本質不同 char *ptr = hello; // ptr 指向**唯讀區**的字串字面量 char arr[] = hello; // arr
C語言遞迴字串逆序輸出:利用調用棧先進後出特性
遞迴邏輯 函數 reverse_print(s): 若 *s == \0 返回 (基礎情況)。 遞迴呼叫 reverse_print(s+1) (先處理後續)
C語言遞迴實作冪函數 n^k:基礎情況 k=0 返回 1
遞迴定義 pow(n, k) = n * pow(n, k-1)0) pow(n, 0) = 1 標準遞迴 int power(int n, int k) {
C語言終端多行輸入處理:查找包含 "ould" 的行並列印 (getline + strstr)
核心需求 從 stdin 讀取多行,每行檢查是否包含子字串 ould,包含則列印該行。EOF 結束 (Ctrl+D / Ctrl+Z)。 手寫 getline
C語言二進位位元翻轉:32位無符號整數左右鏡像反轉
題目 將 32 位無符號整數二進位模式完全反轉 (bit 0 ↔ bit 31, bit 1 ↔ bit 30...)。 例:25 (0x00000019) →