题目描述
三澄美琴是UDI研究所的一名专门探查死者死因的解剖医生
今天是周五,她所要做的就是对最近一起案件的所有死者生命特征进行记录并且排序
她需要记录死者的体重(kg),身高(cm),血糖浓度(mmol/L)
现在请你根据他所记录的信息寻找出血糖浓度最低的死者的体重是多少
输入
首先输入一个整数n,代表需要记录的死者人数(1<n<1000)
接下来每一行输入三个数,分别代表死者的体重W(kg),身高H(cm),血糖浓度G(mmol/L)
体重身高均为整数,血糖浓度精确到0.01
输出
输出所求的体重
样例输入
3 58 176 5.2 42 160 4.2 45 165 4.8
样例输出
42
//方法一:用sort排序,如果不会sort可以看看方法二
#include<iostream>
#include<algorithm> //sort对应的头文件
using namespace std;
struct qq //定义结构体
{
int a,b;
double c;
}D[1000];
bool cmp(qq a,qq b)
{
return a.c<b.c;
}
int main()
{
int t;
scanf("%d",&t);
for(int i=0;i<t;i++)
{
scanf("%d %d %lf",&D[i].a,&D[i].b,&D[i].c);
}
sort(D,D+t,cmp); //sort排序
printf("%d",D[0].a); //sort排序默认从小到大,第一个为最小值 输出最小血糖浓度对应的体重
return 0;
}
//方法二:用冒泡进行排序
#include<iostream>
using namespace std;
struct qq //定义结构体
{
int a,b;
double c;
}D[1000];
bool cmp(qq a,qq b)
{
return a.c<b.c;
}
int main()
{
int t;
scanf("%d",&t);
for(int i=0;i<t;i++)
{
scanf("%d %d %lf",&D[i].a,&D[i].b,&D[i].c);
}
for(int i=0;i<t-1;i++) //冒泡排序
{
for(int j=0;j<t-1-i;j++)
{
if(D[j].c>D[j+1].c) //从小到大进行排序
{
struct qq t=D[j]; //交换
D[j]=D[j+1];
D[j+1]=t;
}
}
}
printf("%d",D[0].a); // 排序位从小到大,第一个为最小值,输出最小血糖浓度对应的体重
return 0;
}