简单成绩管理系统,功能不全,前段时间的一个比赛题,当时是手写的。只想看能否自己写出来

 

# include <stdio.h>

 struct Student      //创建结构体类型

 {

     int xue_hao;

     int s;

 }stu[10000];       //创建结构体数组

 

 intmain(void)

 {

     int i,j,k,k1,m,n,m1,xuehao,s1,min,ch;

     scanf("%d %d",&n,&m);

     

     for(i=0;i<n;i++)

     {

            scanf("%d%d",&stu[i].xue_hao,&stu[i].s);

            

       }

       

      m=1.5*m;          //确定上限人数

      

     for(i=0;i<(n-1);i++)        //冒泡法按成绩排名,并相应的交换学号

        for(j=0;j<(n-i-1);j++)

        if(stu[j].s<stu[j+1].s)

         {

                xuehao=stu[j].xue_hao;

                stu[j].xue_hao=stu[j+1].xue_hao;

                stu[j+1].xue_hao=xuehao;

                s1=stu[j].s;

                    stu[j].s=stu[j+1].s;

                    stu[j+1].s=s1;

                     

              }

             j=0;

             

             

             for(i=0;i<n;i=j)       //对相同成绩进行处理

             {

                    for(;;j++)

                    {

                           if(stu[i].s=stu[j].s)

                           break;

                    }

                    ch=j-i;

                 for(k1=0;k1<(ch-1);k1++)

                 {

                        for(k=0;k<(ch-1);k++)

                        if(stu[i+k].xue_hao>stu[i+k+1].xue_hao)

                        {

                              xuehao=stu[i+k].xue_hao;

                              stu[i+k].xue_hao=stu[i+j+1].xue_hao;

                              stu[i+k+1].xue_hao=xuehao;

                           }

                    }

                    

             }

             

             min=stu[m1-1].s;        //最后上限人数确定

             

             for(i=0;;i++)

             {

                    if(stu[i].s==min)

                    break;

              }

              

             m1=m1+i;

             

             printf("%d%d",min,m1);//分数线和人数

             

             for(i=0;i<m1;i++)      //对学号和人数的打印

             {

                    printf("%d%d\n",stu[i].xue_hao,stu[i].s);

                    

             }

             

     return 0;

 }

 

 

 希望大佬指导1

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值