xoxoRoy. 2022-03-18 08:40 采纳率: 40%
浏览 4668
已结题

C语言,结构体:从键盘输入5个学生的学号、姓名、数学成绩、语文成绩和英语成绩,要求计算并输出:

从键盘输入5个学生的学号、姓名、数学成绩、语文成绩和英语成绩,要求计算并输出:(c语言,结构体)
(1)每门课的平均成绩;
(2)每个学生的平均成绩(输出学号、姓名、平均分)
(3)三门课总分最高的学生的数据(输出学号、姓名、3门课的成绩,三门课的总分)。
实验结果示例截图:

img

  • 写回答

4条回答 默认 最新

  • 关注
    #include<stdio.h>
    #define N 5
    
    struct student
    {
        int num;
        char name[10];
        int course1;
        int course2;
        int course3;
        int total;
    };     //定义结构体类型
    void main()
    {
        printf("请输入学生信息,以空格隔开\n");
        printf("学号 数学 语文 英语 姓名\n");
        struct student st[N];     //定义结构体变量
        int i, max, maxi;
        float average1 = 0,average2 = 0,average3 = 0;
        for(i = 0; i < N; i++)
        {
            scanf("%d",&st[i].num);
            scanf("%d",&st[i].course1);
            average1 = average1 + st[i].course1;
            scanf("%d",&st[i].course2);
            average2 = average2 + st[i].course2;
            scanf("%d",&st[i].course3);
            average3 = average3 + st[i].course3;
            scanf("%s",st[i].name);
            st[i].total = st[i].course1 + st[i].course2 + st[i].course3;     //求出当前学生的总分
        }
        average1 = average1 / N;
        average2 = average2 / N;
        average3 = average3 / N;     //求出各科平均分
        max = st[0].total;
        for(i = 1; i < N; i++)
            if(st[i].total >= max)
            {
                max = st[i].total;
                maxi = i;
            }
        printf("三门课的平均成绩:\n");
        printf("数学 语文 英语\n");
        printf("%.2f %.2f %.2f\n",average1,average2,average3);
        printf("学号 姓名 平均分\n");
        for(i = 0; i < N; i++)
        {
            printf("%d   %s  %.2f\n" , st[i].num , st[i].name , st[i].total/3.0);
    
        }
        printf("总分最高的学生:\n");
        printf("学号   姓名   课程1   课程2   课程3  总分\n");
        printf("%d %s %d %d %d %d\n" , st[maxi].num , st[maxi].name , st[maxi].course1 , st[maxi].course2 , st[maxi].course3 , st[maxi].total);
    }
    

    img

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

报告相同问题?

问题事件

  • 系统已结题 4月21日
  • 已采纳回答 4月13日
  • 创建了问题 3月18日

悬赏问题

  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记