首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

C 語言統計奇偶數個數與平均值:新手常見錯誤(變量未初始化、拼寫錯誤)修正

     編輯:程式設計綜合問答

原代碼錯誤分析

// 原代碼主要錯誤:
int num, en, on;          // en、on 未初始化,含隨機垃圾值
float aen = 0, aon = 0;   // 平均值累加器命名易混淆
whlie(0 != num)           // 拼寫錯誤:whlie → while
// 輸出格式 %lf 對應 double,float 用 %f 即可

修正後完整代碼

#include <stdio.h>

int main(void) {
    int num = 0;          // 輸入數字
    int evenCount = 0;    // 偶數個數(初始化 0)
    int oddCount = 0;     // 奇數個數(初始化 0)
    int evenSum = 0;      // 偶數和
    int oddSum = 0;       // 奇數和
    
    printf("Please enter integers (0 to stop):\n");
    scanf("%d", &num);
    
    while (num != 0) {            // 修正拼寫:while
        if (num % 2 == 0) {       // 偶數
            evenCount++;
            evenSum += num;
        } else {                  // 奇數
            oddCount++;
            oddSum += num;
        }
        scanf("%d", &num);
    }
    
    // 輸出結果(避免除零)
    printf("Even count: %d, Odd count: %d\n", evenCount, oddCount);
    if (evenCount > 0) 
        printf("Even average: %.2f\n", (float)evenSum / evenCount);
    if (oddCount > 0) 
        printf("Odd average: %.2f\n", (float)oddSum / oddCount);
    
    printf("Done\n");
    return 0;
}

新手必記三大鐵律

  1. 所有變量使用前必須初始化(特別是計數器、累加器)。
  2. 關鍵字拼寫務必精確:while、for、if、else、return 等。
  3. 除法運算注意類型轉換:整數相除截斷,需強轉 (float) 或乘 1.0 得小數。

進階優化建議

  • 用 long long 存儲和,防止大量數據溢出。
  • 輸入驗證:檢查 scanf 返回值,處理非數字輸入。
  • 模塊化:提取 processNumbers() 函數,主函數只調用。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved