题目描述
输入n个学生的姓名和身高,按身高从小到大的顺序输出所有姓名。
输入
输入第一行为一个整数n(n<10),接下来的n行,每行包含一个姓名和身高,用空格隔开,姓名为长度不超过20的字符串,不含空格,身高为一个整数值。
为降低难度,输入数据保证没有任何两个人身高相同。
输出
输出n行,每行一个姓名,按身高从低到高的顺序输出。
样例输入 Copy
3 liming 182 wangling 170 zhangliang 190
样例输出 Copy
wangling liming zhangliang
代码
#include <stdio.h>
#include <stdlib.h>
void Sortarr(int arr[],int n);
int main()
{
int n,i,j;
int h[11]={0},h1[11]={0};
char str[10][20];
scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%s %d",str[i],&h[i]);
for(i=0;i<n;i++)
h1[i]=h[i];
Sortarr(h1,n);
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
if(h1[i]==h[j])
printf("%s\n",str[j]);
}
}
return 0;
}
void Sortarr(int arr[],int n)
{
int i,j,t;
for(i=0;i<n-1;i++)
{
for(j=i+1;j<n;j++)
if(arr[i]>arr[j])
{
t=arr[i];arr[i]=arr[j];arr[j]=t;
}
}
}