注册 登录
编程论坛 C语言论坛

c语言已知每个学生有5门课程的成绩,要求录入这5个学生的成绩,并输出总成绩最高的学生成绩以及该生的序号

姓张名世离 发布于 2019-10-28 17:30, 4936 次点击
只有本站会员才能查看附件,请 登录
9 回复
#2
纯蓝之刃2019-10-28 18:37
程序代码:
#include<stdio.h>

int main()
{
    int i=0,j=0,n=5;
    float buf;
    float score[5][6]={0.0};
    int a[5]={0};

    printf("请录入五个学生5门课程成绩\n");

    for(i=0;i<n;i++)
    {
        printf("请输入第%d个学生成绩:",i+1);
        scanf("%f %f %f %f %f",&score[i][0],&score[i][1],&score[i][2],&score[i][3],&score[i][4]);    //输入数据
        score[i][5]=score[i][0]+score[i][1]+score[i][2]+score[i][3]+score[i][4];                    //计算总成绩
        a[i]=i;                                
    }
    for(i=0;i<n;i++)
    {
        printf("第%d个学生:",i+1);
        printf("%.1f %.1f %.1f %.1f %.1f\t%.1f\n",
              score[i][0],score[i][1],score[i][2],score[i][3],score[i][4],score[i][5]);        //输出成绩
    }


    for(j=0;j<n-1;j++)
    {
        if (score[j][5]>score[j+1][5])
        {
            buf=score[j][5];
            score[j][5]=score[j+1][5];
            score[j+1][5]=buf;

            buf=a[j];
            a[j]=a[j+1];
            a[j+1]=buf;
        }
    }
    printf("总分最高的是第%d个学生(总分:%f)",a[n-1]+1,score[n-1][5]);    //输出最高分
    return 0;
}
#3
阿杰su2019-10-28 21:00
回复 2楼 纯蓝之刃
厉害了
#4
阿杰su2019-10-28 21:03
回复 2楼 纯蓝之刃
我应该怎么下载c语言编程的软件呢,下了俩次都被系统说有病毒给删除了,方便的话回我一下,谢谢
#5
好学2019-10-28 21:04
以下是引用阿杰su在2019-10-28 21:03:04的发言:

我应该怎么下载c语言编程的软件呢,下了俩次都被系统说有病毒给删除了,方便的话回我一下,谢谢

https://down.bccn.net/c
#6
阿杰su2019-10-28 21:18
回复 5楼 好学
谢谢非常感谢  大哥谢啦
#7
姓张名世离2019-10-28 22:31
官网下visual studio2019
#8
姓张名世离2019-10-29 19:13
回复 2楼 纯蓝之刃
你好想问下a[i]=i是什么意思啊?
#9
纯蓝之刃2019-10-29 19:18
回复 8楼 姓张名世离
总分最高的是第%d个学生(总分:%f)",a[n-1]+1。用来取第。。个学生用的。相当一第一个学生a[0]=0,第二个a[1]=1,第三个a[2]=2,第四个a[3]=3,第五个a[4]=4。
然后这个值和总成绩一样的顺序去排序,最后取得最大的成绩的时候,a[n-1]+1的值也就是第。。个学生。
#10
姓张名世离2019-10-30 09:57
回复 9楼 纯蓝之刃
好的谢谢。
1