weixin_74094295 2022-11-02 12:45 采纳率: 100%
浏览 23
已结题

我是打算自学C语言,在网上找了道题但是没找到答案,能不能写一个标准答案给我看看

  1. 输入4个学生5门课的成绩,分别用函数实现下列功能:
    (1)计算每个学生的平均分;
    (2)计算每门课的平均分;
    (3)找出所有20个分数中最高的分数所对应的学生和课程。
  • 写回答

2条回答 默认 最新

  • 云云豆酱 2022-11-02 18:21
    关注

    文章链接 http://t.csdn.cn/iZVFd
    代码如下:他写的很好,你可以看看,你的没有计算方差他写了,把计算方差的函数去掉就行了。希望对你有用
    #include<stdio.h>
    void st_avger(int s[5][4])//计算每个学生的平均分
    {
    int a,b,c123;
    float s1[5],t=0;
    for(a=0;a<5;a++)
    {
    for(b=0;b<4;b++)
    {
    t=t+s[a][b];
    }
    s1[a]=t;
    t=0;
    }
    for(c123=0;c123<5;c123++)
    printf("第%d个学生的平均成绩为%4.2f\n",c123,s1[c123]/4);
    }
    void sb_avger(int s[5][4])//计算每门课的平均分
    {
    int a,b;
    float t=0;
    for(a=0;a<4;a++)
    {
    for(b=0;b<5;b++)
    t+=s[b][a];
    printf("第%d门课的平均成绩为%4.2f\n",a+1,t/5);
    t=0;
    }
    }
    void max(int s[5][4])
    {
    int a3,b3,c3,t3,e3,f3,s3[20],s31[20];
    for(a3=0;a3<5;a3++)
    {
    for(b3=0;b3<4;b3++)
    s3[a3*4+b3]=s[a3][b3];//将二维数组降为一维数组
    }
    for(e3=0;e3<20;e3++)
    s31[e3]=s3[e3];//复制一个1维数组,方便找出最大的数字是否重复
    for(c3=0;c3<19;c3++)//找出数组最大的数字
    if(s3[c3]>=s3[c3+1])
    {
    t3=s3[c3+1];
    s3[c3+1]=s3[c3];
    s3[c3]=t3;
    }
    for(f3=0;f3<20;f3++)//找出最大数字在数组中是否重复,并输出重复的位置
    {
    if(s31[f3]==s3[19])
    printf("第%d个同学第%d门课分数最高,为%d\n",f3/4+1,f3%4+1,s31[f3]);/在一维数组里
    每个同学占用四个位,所以很容易确定那个同学,成绩亦然
    /
    }
    }
    void msv(int s[5][4])//计算平均分方差
    {
    int a,b,c;
    float apex,xi2=0,xi=0,t=0,s1[5];
    for(a=0;a<5;a++)//计算每一个同学成绩的平均值
    {
    for(b=0;b<4;b++)
    t=t+s[a][b];//t储存每一个同学的总成绩
    s1[a]=t/4;
    t=0;
    }
    for(c=0;c<5;c++)
    {
    xi2+=s1[c]s1[c];
    xi+=s1[c];
    }
    apex=(xi2)/5-(xi/5)
    (xi/5);//方差计算公式
    printf("平均分方差:%f\n",apex);
    }
    int main ()
    {
    int s[5][4];
    int a1,b1;
    for(a1=0;a1<5;a1++)
    for(b1=0;b1<4;b1++)
    {
    printf("输入第%d名同学的第%d门课的分数:",a1+1,b1+1);
    scanf("%d",&s[a1][b1]);
    }
    st_avger(s);
    sb_avger(s);
    msv(s);
    max(s);
    return 0;
    }

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 12月4日
  • 已采纳回答 11月26日
  • 创建了问题 11月2日

悬赏问题

  • ¥15 做个有关计算的小程序
  • ¥15 MPI读取tif文件无法正常给各进程分配路径
  • ¥15 如何用MATLAB实现以下三个公式(有相互嵌套)
  • ¥30 关于#算法#的问题:运用EViews第九版本进行一系列计量经济学的时间数列数据回归分析预测问题 求各位帮我解答一下
  • ¥15 setInterval 页面闪烁,怎么解决
  • ¥15 如何让企业微信机器人实现消息汇总整合
  • ¥50 关于#ui#的问题:做yolov8的ui界面出现的问题
  • ¥15 如何用Python爬取各高校教师公开的教育和工作经历
  • ¥15 TLE9879QXA40 电机驱动
  • ¥20 对于工程问题的非线性数学模型进行线性化