#include<iostream>
#include<cstring>
#include<stdio.h>
#include<algorithm>
using namespace std;
struct people{
char xi[7];
float cm;
};
bool cmp(float a,float b){
if(a!=b) return a>b;
}
int main(){
int n,i;cin >>n;float a[n]={0},b[n]={0};
struct people haha[n];
for(i=0;i<n;i++)
cin >>haha[i].xi>>haha[i].cm;
for(i=0;i<n;i++){
if(haha[i].xi[0]=='f')
a[i]=haha[i].cm;
else
b[i]=haha[i].cm;
}
sort(b,b+n);sort(a,a+n,cmp);
for(i=0;i<n;i++)
if(b[i]!=0)
printf("%.2f ",b[i]);
for(i=0;i<n;i++){
if(a[i+1]==0){
printf("%.2f",a[i]);
break;
}
if(a[i]!=0&&a[i+1]!=0)
printf("%.2f ",a[i]);
}
}
不知道为什么7分,而且是runtime error
#include<iostream>
#include<cstring>
#include<stdio.h>
#include<algorithm>
using namespace std;
struct people{
char xi[8];
float cm;
};
bool cmp(people a,people b){
if(a.xi[0]!=b.xi[0])
return a.xi[0]>b.xi[0];
else if(a.xi[0]=='m')
return a.cm<b.cm;
else
return a.cm>b.cm;
}
int main(){
int n,i;cin >>n;
struct people haha[n];
for(i=0;i<n;i++)
cin >>haha[i].xi>>haha[i].cm;
sort(haha,haha+n,cmp);
for(i=0;i<n;i++){
if(i)printf(" ");
printf("%.2f",haha[i].cm);
}
}
改了下