求班级测试的平均分。

img

一个简单的实现:


#include  <stdio.h>

int main(void){
    
    double avg;  //平均分 
    int total = 0;  //所有成绩总分 
    int grade = -1;  //每个学生成绩临时变量 
    int num = 0;     //学生个数 
    
    scanf("%d",&grade);  //读入一个分数 
    while(grade!=-1){   //如果读入的不是-1,则进行总分计算和学生个数计算 
        total += grade;  //把每一个读入的分数加入总分数 
        num++;     //学生个数增加一个 
        scanf("%d",&grade);   //读入下一个分数 
    }
    
    if(total!=0){   //如果总分数不为0,说明读入了成绩,进行平均分打印 
        avg = total*1.0/num;   //计算平均分,乘以1.0用于将整数运算转换doule类型计算,保证精度 
        printf("%.2lf\n",avg);  //按格式打印平均分 
    }else{
        printf("No grades were entered.\n");  //没有输入成绩 
    }
    
    return 0;    
}