静(⊙︿⊙)陌 2021-12-29 23:19 采纳率: 50%
浏览 641
已结题

c语言用结构体对学生成绩进行排序(不懂啊)

建立学生结构体类型,包括:学号(学号11位)、姓名和总分。建立结构数组,从键盘录入10个同学的信息,然后对这10个同学按成绩从高到低的顺序排序,然后在屏幕上输出排序后的所有学生记录并写入文件中。假设本问题中,学生成绩一定为[0,100]之间的正整数。要求使用选择排序(或改进的选择排序)和冒泡排序(或改进的冒泡排序)两种方法来完成。

  • 写回答

2条回答 默认 最新

  • 关注

    你题目的解答代码如下:

    #include<stdio.h>
    #include<stdlib.h>
    #define n 10
    typedef struct student{
        char num[12];
        char name[50];
        int score;
    } stu;
    void main()
    {
        int i,j,k;
        stu a[n], buf;
        for(i=0;i<n;i++)
        {
            scanf("%s %s %d",&a[i].num,a[i].name,&a[i].score);
        }
        for (i=0; i<n-1; ++i)  //比较n-1轮
        {
            for (j=0; j<n-1-i; ++j)  //每轮比较n-1-i次,
            {
                if (a[j].score < a[j+1].score)
                {
                    buf = a[j];
                    a[j] = a[j+1];
                    a[j+1] = buf;
                }
            }
        }
        FILE *fp = fopen("./result.txt", "w");
        for(i=0;i<n;i++)
        {
            printf("%s %s %d\n",a[i].num,a[i].name,a[i].score);
            fprintf(fp,"%s %s %d\n",a[i].num,a[i].name,a[i].score);
        }
    }
    

    如有帮助,请点击我的回答下方的【采纳该答案】按钮帮忙采纳下,谢谢!

    img

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

报告相同问题?

问题事件

  • 系统已结题 1月6日
  • 已采纳回答 12月29日
  • 创建了问题 12月29日

悬赏问题

  • ¥15 lammps拉伸应力应变曲线分析
  • ¥15 C++ 头文件/宏冲突问题解决
  • ¥15 用comsol模拟大气湍流通过底部加热(温度不同)的腔体
  • ¥50 安卓adb backup备份子用户应用数据失败
  • ¥20 有人能用聚类分析帮我分析一下文本内容嘛
  • ¥15 请问Lammps做复合材料拉伸模拟,应力应变曲线问题
  • ¥30 python代码,帮调试
  • ¥15 #MATLAB仿真#车辆换道路径规划
  • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建
  • ¥15 数据可视化Python