首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

C 語言練習:計算 1~100 奇數個數

     編輯:關於C語言

題目

統計 1 到 100 (含) 之間奇數的個數。

標準實作

#include 

#define BEGIN 1
#define END   100

int main(void) {
    int count = 0;

    for (int i = BEGIN; i <= END; ++i) {
        if (i % 2 == 1) {
            ++count;
        }
    }

    printf("1 到 %d 之間奇數個數 = %d\n", END, count);
    return 0;
}

輸出結果

1 到 100 之間奇數個數 = 50

數學驗證

1, 3, 5, ..., 99 為等差數列,項數 n = (99 - 1) / 2 + 1 = 50。

優化版本

1. 步進 2 避免判斷

for (int i = BEGIN | 1; i <= END; i += 2) ++count;

2. 數學公式 O(1)

int first = (BEGIN % 2) ? BEGIN : BEGIN + 1;
int last  = (END % 2)   ? END   : END - 1;
int count = (first <= last) ? (last - first) / 2 + 1 : 0;

關鍵點提醒

  • 巨集 #define END 100 **不加分號**。
  • 迴圈條件 i <= END 含邊界。
  • 計數器 count **必須初始化為 0**。
  • ++count 前置遞增語意清晰且效能略優。

擴展:使用者輸入範圍

int begin, end;
printf("請輸入起始與結束值:");
scanf("%d %d", &begin, &end);
if (begin > end) { int t = begin; begin = end; end = t; } // 交換確保 begin <= end
// 後續邏輯同前
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved