谁考了第k名

来源:互联网 发布:pkpm结构计算软件 编辑:程序博客网 时间:2024/04/29 08:20
                        1011:谁考了第k名
                        查看 提交 统计 提问
       总时间限制: 1000ms 内存限制: 65536kB



描述


在一次考试中,每个学生的成绩都不相同,现知道了每个学生的学号和成绩,求考第k名学生的学号和成绩。



输入
第一行有两个整数,分别是学生的人数n(1≤n≤100),和求第k名学生的k(1≤k≤n)。
其后有n行数据,每行包括一个学号(整数)和一个成绩(浮点数),中间用一个空格分隔。
输出

输出第k名学生的学号和成绩,中间用空格分隔。



我的程序:

/* * 程序的版权和版本声明部分: * Copyright (c) 2017, 信息学院 * All rights reserved. * 文件名称:谁考了第k名* 作    者:邓华伟* 完成日期:2017年3月4日 * 版 本 号:v1.0 * 对任务及求解方法的描述部分: * 输入描述:无 *问题分析:根据成绩来进行排名,建立结构体。* 算法设计:略*/  #include<stdio.h>#include<iostream>using namespace std;struct studen//建立结构体{char name[20];//姓名用字符数组来存储double num;//成绩};int main(){struct studen student[100];struct studen t;int n,k,i,j;cin>>n>>k;for(i=0;i<n;i++){cin>>student[i].name>>student[i].num;}//输入for(i=0;i<n;i++)for(j=0;j<n-i-1;j++){if(student[j].num<student[j+1].num){t=student[j];student[j]=student[j+1];student[j+1]=t;}//以成绩来进行排名!}cout<<student[k-1].name<<' '<<student[k-1].num<<endl;return 0;}

运行结果:


我的心得:

学会运用结构体来对多个信息进行处理,发挥结构体的优势,抓住排序的关键,运用结构体给问题的解决提供很大便利!

1 0
原创粉丝点击