sinat_33247275
sinat_33247275
2015-12-04 02:22
采纳率: 0%
浏览 1.6k

C语言编程题,插入求和函数,排序函数。么有错误,但结果不对!

定义一个包括学号、姓名及三门课的成绩和总分的结构体,利用该结构体说明一个包含五个人的结构体数组。从键盘输入五个人的基本信息、计算总分,并根据总分排序输出一个成绩单!

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • u013961798

    show us the code
    加个断点调试吧,看看每次排序后的顺序是否如预期结果

    点赞 评论
  • qq_28249373
    shifenglv 2015-12-04 05:12

    这个代码也没贴出来,怎么知道问题出在哪里

    点赞 评论
  • sinat_33247275
    sinat_33247275 2015-12-04 18:30

    复 6楼 newdos
    #include
    void shuru(void);
    void qiuhepaixu(void);
    void shuchu(void);
    typedef struct student
    {
        long studentID;
        char studentName[10];
        int sum[30];
        int a;
        int b;

    }STUDENT;
        STUDENT stu[3];
    void main()
    {
        shuru();
        qiuhepaixu();
    }

    void shuru(void)
    {
        int i;
        for(i=0;i<3;i++)
        {
            printf("请输入第%d个学生的学号 姓名  数学成绩 语文成绩\n",i+1);
            scanf("%ld",&stu[i].studentID);
            scanf("%s",&stu[i].studentName);

            scanf("%d",&stu[i].a);
            scanf("%d",&stu[i].b);

        }
        shuchu();
    }
    void shuchu(void)
    {
        int i,sum[30];
        printf("学号\t 姓名\t  数学\t 语文\t  总分\n");
        for(i=0;i<3;i++)
        printf("%ld\t %s\t %d\t  %d\t %d\n",stu[i].studentID,stu[i].studentName,stu[i].a,stu[i].b,sum[i]);
    }

    void qiuhepaixu(void)
    {
        int i,j,sum[30];
        for(i=0;i<3;i++)
      {
        sum[i]=0;
        sum[i]=stu[i].sum+stu[i].a+stu[i].b;
      }

       struct student temp;
       for(i=0;i    {
          for(j=i+1;j     {
              if(stu[i].sum>stu[j].sum)
            {
                temp=stu[i];
                stu[i]=stu[j];
                stu[j]=temp;
             }
          }
         }
         shuchu();
    }

    点赞 评论

相关推荐