C语言实现求某班学生的平均成绩和均方差

完整代码:

/* 已知求成绩的平均值和均方差公式为: =∑/n ,
 =  √(∑ (−)^2/n),其中 n 为学生人数,si 为第 i 个学生成绩。求某班学生的平均成绩和均方差。*/
#include
#include
#include
int main(){
    //学生个数
    int n;
    printf("请输入学生个数:");
    scanf("%d",&n);
    //动态分配数组空间,可以存储n个学生的成绩
    int *grade=(int *)malloc(n*sizeof(int));
    //学生成绩总和
    int sum=0;
    //输入学生的成绩,并计算成绩总和
    for (size_t i = 0; i < n; i++)
    {
        printf("请输入第%d个学生的成绩\n",i+1);
        scanf("%d",&grade[i]);
        sum+=grade[i];
    }
    //平均成绩
    double ave=sum/(double)n;
    //num是对(−)^2的求和,dev是均方差
    double num=0,dev;
    for (int i = 0; i < n; i++)
    {
        num+=(grade[i]-ave)*(grade[i]-ave);
    }
    dev=sqrt(num/n);
    printf("平均成绩为:%f,均方差为%f",ave,dev);
    return 0;
}

运行截图:

C语言实现求某班学生的平均成绩和均方差_第1张图片

你可能感兴趣的:(算法,c语言,C经典100题)