本文整理 10 道經典 C 語言練習題,涵蓋數值計算、迴圈控制、條件判斷、陣列操作、遞迴等核心考點。每題提供完整代碼、關鍵邏輯解析與常見錯誤提醒,適合期中複習與面試準備。
sum = (sum * m) % 1000π/4 = 1 - 1/3 + 1/5 - ...,項值 < 1e-6 停止fabs 取絕對值,整數部反覆除 10 計數f(x1)*f(x2)<0,中點迭代至 |f(x0)|<1e-6x_{n+1} = 0.5*(x_n + a/x_n),收斂快O(sqrt(n)) 優化枚舉因子switch(grade/10) 利用整除特性簡化區間判斷(y%4==0&&y%100!=0)||y%400==0,累加各月天數double sqrt_newton(double a) {
double x = a;
while (fabs(x - a/x) > 1e-10) // 相對誤差更穩健
x = 0.5 * (x + a/x);
return x;
}
int is_perfect(int n) {
if (n <= 1) return 0;
int sum = 1;
for (int i = 2; i*i <= n; i++)
if (n % i == 0) {
sum += i;
if (i != n/i) sum += n/i;
}
return sum == n;
}
#define IS_LEAP(y) ((y)%4==0 && ((y)%100!=0 || (y)%400==0))
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main() {
// 1. 讀取輸入 (檢查返回值)
// 2. 邊界條件預處理
// 3. 核心演算法 (注意精度/溢位)
// 4. 格式化輸出 (嚴格符合題目要求)
return 0;
}
scanf 格式字串不匹配 (如 %lf vs %f)fabs(a-b) < eps)long long 或取模運算規避)<= vs <)這些題目雖屬基礎,但涵蓋了「數值精度、邊界處理、演算法複雜度、標準庫使用」四大核心能力,反覆練習至熟練,是建立扎實編程基本功的最佳路徑。