c语言,创建一个程序来计算所输入成绩的总分、平均分和标准差。 学生人数不超过100人。

学生人数首先作为年级数据输入,然后是0到100的成绩(整数数据)。
创建一个程序来计算所输入成绩的总分、平均分和标准差。 学生人数不超过100人。
如果数据为xi,数据数量为n,则通过以下公式得到平均数x和标准差σ。

img


#include<stdio.h>
#include<math.h>
int main()
{
    int num,a[100],sum=0;
    float ave,bzx;
    printf("输入人数:");
    scanf_s("%d", &num);
    printf("输入成绩(空格隔开):");
    for (int i = 0; i < num; i++)
    {
        scanf_s("%d", &a[i]);
        sum += a[i];
    }
    ave = (double)sum / num;
    for (int i = 0; i < num; i++)
        bzx = pow((double)a[i] - ave, 2);
    bzx = sqrt(bzx / num);
    printf("总分=%d\n", sum);
    printf("平均数=%f\n", ave);
    printf("标准差=%f\n", bzx);
    return 0;
}

你可以参考一下,希望采纳支持一下博主呀

#include <stdio.h>
#include <math.h>

int main()
{
    int n;
    printf("请输入学生人数:\n");
    scanf("%d", &n);

    int i, arr[100], sum = 0;
    printf("请输入学生成绩(空格间隔):\n");
    for (i = 0; i < n; i++) {
        scanf("%d", &arr[i]);
        sum += arr[i];
    }
    printf("总分为:%d\n", sum);
    double aver = sum * 1.0 / n;
    printf("平均分为:%.2f\n", aver);

    double var = 0,standard = 0;
    for (i = 0; i < n; i++) {
        var += pow(arr[i] - aver, 2) / n;    //求方差
    }
    //求标准差
    standard = pow(var, 0.5);

    printf("标准差为:%f\n", standard);

    return 0;
}

运行结果:

img

img

公式都有了。。。自己写一个循环算呗。。。
这就是个翻译,自己练练吧

#include<stdio.h>
#include<math.h>
int N=100;
int main()
{
int a[N];
int i=0,j=0,sum=0,n;
double x=0,q=0;
scanf("%d",&n);
while(i<n)
{
scanf("%d",&a[i]);
sum+=a[i];//求总分
i++;
}
x=sum*1.0/n;//求平均分
while(j<n)
{
double k=a[j]-x;
q+=pow(k,2);
j++;
}
q=q/n;
q=sqrt(q);//求标准差
printf("%d,%lf,%lf",x,q);
return 0;
}可以参考一下,如果有帮助的话请采纳一下谢谢

img

#include<stdio.h>
#include<math.h>
int calcusum(int t[],int n)
{
    int sum=0;
    for(int i=0; i<n; i++)
        sum+=t[i];
    return sum;
}
double calcuave(int t[],int n)
{
    double sum=(double)calcusum(t,n);
    return sum/n;
}
double calcubzc(int t[],int n)
{
    double ave=calcuave(t,n);
    double sum=0;
    for(int i=0; i<n; i++)
        sum+=(t[i]-ave)*(t[i]-ave);
    return sqrt(sum/n);
}
int main()
{
    int score[100];
    int n;
    scanf("%d",&n);
    for(int i=0; i<n; i++)
        scanf("%d",&score[i]);
    int sum=calcusum(score,n);
    double ave=calcuave(score,n);
    double bzc=calcubzc(score,n);
    printf("总分:%d  平均数:%lf  标准差:%lf",sum,ave,bzc);
    return 0;
}