53342321 2019-11-27 09:39 采纳率: 100%
浏览 624
已采纳

顺序排序的一道题,希望大神指点一下

描述
在一次考试中,每个学生的成绩都不相同,现知道了每个学生的学号和成绩,求考第k名学生的学号和成绩。
输入
第一行有两个整数,分别是学生的人数n(1≤n≤100),和求第k名学生的k(1≤k≤n)。
其后有n行数据,每行包括一个学号(整数)和一个成绩(浮点数),中间用一个空格分隔。
输出
输出第k名学生的学号和成绩,中间用空格分隔。(注:请用%g输出成绩)
样例输入
5 3
90788001 67.8
90788002 90.3
90788003 61
90788004 68.4
90788005 73.9
样例输出
90788004 68.4
我的代码

#include<stdio.h>
int main()
{
    int a,i,j,n,k,t;
    double temp,b;
    double score[256];
    int id[256];
    scanf("%d %d",&n,&k);
    for(i=1;i<=n;i++)
    {
        scanf("%d %lf",&a,&b);
        id[i]=a;
        score[i]=b;
    }
    for(i=1;i<=n-1;i++)
    {
        for(j=i+1;j<=n;j++)
        if(score[j]<score[i])
        {
          temp=score[i];
          score[i]=score[j];
          score[j]=temp;
          t=id[i];
          id[i]=id[j];
          id[j]=t;
        }
    }
    printf("%d %g",id[k],score[k]);
    return 0;
}

http://noi.openjudge.cn/ch0110/01/ 原题地址
我这道题测试了一下没错,但是oj只给了2分,希望大神帮我改到满分

  • 写回答

2条回答

  • qtchen_1988 2019-11-27 10:36
    关注
     if(score[j]<score[i])
    改成
    if(score[j]>score[i])
    

    图片说明

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

报告相同问题?

悬赏问题

  • ¥15 八爪鱼爬数据为什么自己停了
  • ¥15 交替优化波束形成和ris反射角使保密速率最大化
  • ¥15 树莓派与pix飞控通信
  • ¥15 自动转发微信群信息到另外一个微信群
  • ¥15 outlook无法配置成功
  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率