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

C語言 while 迴圈練習:輸入 3 位學生 3 科成績計算總分平均

     編輯:關於C

題目需求

使用 while 迴圈,輸入 3 位學生的 3 科成績(英文、微積分、C語言),計算並輸出每位學生的總分與平均。

原始碼問題

  • 輸出訊息「三個同學的總分」重複且易誤解
  • 變數 sum, aver 未在迴圈內歸零(雖本例每次重新賦值無害)
  • 格式化輸出缺少換行與標籤

改良版程式碼

#include <stdio.h>

int main()
{
    int n = 1;
    float score1, score2, score3, sum, avg;

    while (n <= 3) {
        printf("請輸入第 %d 位同學的三科成績 (英 微 C): ", n);
        scanf("%f %f %f", &score1, &score2, &score3);

        sum = score1 + score2 + score3;
        avg = sum / 3.0;

        printf("第 %d 位同學 → 總分: %.1f  平均: %.1f\n", n, sum, avg);
        n++;
    }
    return 0;
}

執行範例

請輸入第 1 位同學的三科成績 (英 微 C): 85 90 78
第 1 位同學 → 總分: 253.0  平均: 84.3
請輸入第 2 位同學的三科成績 (英 微 C): 70 80 85
第 2 位同學 → 總分: 235.0  平均: 78.3
請輸入第 3 位同學的三科成績 (英 微 C): 92 88 95
第 3 位同學 → 總分: 275.0  平均: 91.7

while vs for 對比

// while 版
int n = 1;
while (n <= 3) { ... n++; }

// for 版(更推薦已知次數迴圈)
for (int n = 1; n <= 3; n++) { ... }

延伸:二維陣列版本

見下一題(ID 1435),使用 float stu[3][3] 儲存所有資料,便於後續統計分析(全班平均、最高分等)。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved