NO.1 谁考了第k名-排序
Description
在一次考试中,每个学生的成绩都不相同,现知道了每个学生的学号和成绩,求考第k名学生的学号和成绩。
Input
第一行有两个整数,分别是学生的人数n(1≤n≤100),和求第k名学生的k(1≤k≤n)。
其后有n行数据,每行包括一个学号(整数)和一个成绩(浮点数),中间用一个空格分隔。
Output
输出第k名学生的学号和成绩,中间用空格分隔。(注:请用%g输出成绩)
Sample Input
5 3
90788001 67.8
90788002 90.3
90788003 61
90788004 68.4
90788005 73.9
Sample Output
90788004 68.4
#include<stdio.h>
struct student{
int num;
float cj;};
int main()
{
int n,i,m,j,k;
float t;
struct student s[100];
scanf("%d %d",&n,&m);
for(i=0;i<n;i++)
{
scanf("%d %g",&s[i].num,&s[i].cj);}
for(i=0;i<n-1;i++)
{
for(j=i+1;j<=n;j++)
{
if(s[i].cj<s[j].cj)
{
t=s[i].cj;
s[i].cj=s[j].cj;
s[j].cj=t;
k=s[i].num;
s[i].num=s[j].num;
s[j].num=k;
}}}
printf("%d %g\nFrom NEFU_MC",s[m-1].num,s[m-1].cj);
return 0;}
NO.2奇数单增序列
Description
给定一个长度为N(不大于500)的正整数序列,请将其中的所有奇数取出,并按升序输出
Input
共2行:
第1行为 N;