成绩排序
#include<bits/stdc++.h>
using namespace std;
struct px
{
string name;
int y;
int s;
int z;
}a[111];
bool cmp(px a,px b)
{
return a.z>b.z;
}
int main()
{
int x;
cin>>x;
for(int i=0;i<x;i++)
{
cin>>a[i].name>>a[i].y>>a[i].s;
a[i].z=a[i].s+a[i].y;
}
sort(a,a+x,cmp);
for(int i=0;i<x;i++)
{
cout<<a[i].name<<' '<<a[i].y<<' '<<a[i].s<<' '<<a[i].z<<endl;
}
return 0;
}
查找特定编号的人
#include<bits/stdc++.h>
using namespace std;
struct ID
{
int id;
string name;
}a[111];
int main()
{
int n,z;
cin>>n;
for(int i=1;i<=n;i++)
cin>>a[i].id>>a[i].name;
cin>>z;
for(int i=1;i<=n;i++)
{
if(a[i].id==z)
{
cout<<a[i].name;
return 0;
}
}
cout<<"None";
return 0;
}
NOIP200901分数线划定
#include<bits/stdc++.h>
using namespace std;
int n,m,i,j,a[5001],b[5001],x,k;
int main()
{
cin>>n>>m;
for(i=1;i<=n;i++)
scanf("%d%d",&b[i],&a[i]);
m=m*1.5;
for(i=1;i<n;i++)
{
for(j=i;j<=n;j++)
{
if((a[i]<a[j]) || ((b[i]>b[j]) && (a[i]==a[j])))
{
swap(a[i],a[j]);
swap(b[i],b[j]);
}
}
}
x=a[m];
k=0;
for(i=1;i<=n;i++)
if(a[i]>=x) k++;
cout<<x<<" "<<k<<endl;
for(i=1;i<=k;i++)
printf("%d %d\n",b[i],a[i]);
return 0;
}
nb200802-排名
#include<bits/stdc++.h>
using namespace std;
int a[210],b[210],ans,n;
int main(){
cin>>n;
for(int i=1;i<=n;i++)
cin>>a[i]>>b[i];
for(int i=1;i<n;i++)
for(int j=i+1;j<=n;j++)
if(a[i]<a[j] || a[i]==a[j] && b[i]>b[j]){
swap(a[i],a[j]);
swap(b[i],b[j]);
}
cout<<0<<endl;
for(int i=2;i<=n;i++){
ans=0;
for(int j=i-1;j>=1;j--)
if(b[j]<b[i])
ans++;
cout<<ans<<endl;
}
return 0;
}