碌碌无为的程序猿 2019-06-24 22:14 采纳率: 100%
浏览 1104
已采纳

C语言统计学生信息,超简单的一个问题

【高价悬赏】我电脑没有环境和软件,就发到这里了。
题目要求:
编写一个C语言程序,输入10名同学的8门课成绩,分别统计出每个同学的总成绩与平均成绩及10名同学每门课的平均成绩。并按表格的形式输出。(表格形式为:一共12行11列,第一行为表头,10列依次显示姓名、8门课的课程名称、总分、平均分;从第二行开始为具体内容,依次显示10名同学的名字及其8门课成绩及总分和平均分,第十二行只显示9列,分别显示平均分及8门课的平均分分值。)

  • 写回答

3条回答 默认 最新

  • 白色一大坨 2019-06-25 14:17
    关注

    本来这种作业题,我是不会在csdn回答,不过既然有人瞎说八道,我就纠正一下吧:

    #include<stdio.h>
    #define N 10
    struct student
    {
        int num;          //学生学号
        char name[10];    //学生姓名
        float course[8];      //8门课程成绩
        float total;        //总分
        float avg;        //平均分
    }st[N];             //定义结构体数组
    int main()
    {
        int i,j;  
        int sum = 0;
        float average[9] = {0};
        system("mode con cols=120 lines=40");
        for (i = 0; i < N; i++)
        {
            printf("请输入学生学号:");
            scanf("%d", &st[i].num);
            printf("请输入学生姓名:");
            scanf("%s", st[i].name);
            printf("请输入学生8门成绩:\n");
            st[i].total = 0;
            for (j = 0; j < 8;j++)
            {
                scanf("%f", &st[i].course[j]);
                average[j] += st[i].course[j];//每门课累加值
                st[i].total += st[i].course[j];     //统计学生的总分
            }
    
            average[8] += st[i].total;
            st[i].avg = st[i].total / 8;//学生平均分
        }
    
        for (j = 0; j < 9; j++)
        {
            average[j] = average[j] / N;
        }
    
        printf("学号   姓名   课程1   课程2   课程3  课程4   课程5   课程6   课程7   课程8   总分   平均分\n");
        for (i = 0; i < N; i++)
        {
            printf("%-7d %-7s %-7.0f %-7.0f %-7.0f %-7.0f %-7.0f %-7.0f %-7.0f %-7.0f %-7.0f %-7.2f\n",
                st[i].num, st[i].name, st[i].course[0], st[i].course[1], st[i].course[2], 
                st[i].course[3], st[i].course[4], st[i].course[5], st[i].course[6], st[i].course[7], st[i].total, st[i].avg);
        }
    
        printf("平均            ");
        for (j = 0; j < 9; j++)  printf("%-8.2f", average[j]);
        printf("\n");
        return 0;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料