1.输出最高成绩的姓名:
#include<iostream>
#include<cstring>
using namespace std;
int main() {
int n,s=0;
char t[20];
cin >> n;
struct students {
char name[20];
int score;
};
students ar[n];
for(int i=0;i<n;i++){
cin>>ar[i].score>>ar[i].name;
if(ar[i].score>=s){
s=ar[i].score;
strcpy(t,ar[i].name);//也可用memcpy(t,ar[i].name,sizeof(ar[i].name));
}
}
cout<<t;
}
2. 输出指定名次学生的学号与成绩
#include<iostream>
#include<cstring>
using namespace std;
int main() {
int n, k, s;
cin >> n >> k;
int b[n];
struct student {
int StuNo;
float score;
};
student a[n];
for (int i = 0; i < n; i++) {
cin >> a[i].StuNo >> a[i].score;
}
for (int i = 0; i < n; i++) {
s = 0;
for (int j = 0; j < n; j++) {
if (a[j].score >= a[i].score) {
s++;
}
}
b[i]=s;
}
for(int i=0;i<n;i++){
if(b[i]==k){
cout<<a[i].StuNo<<" "<<a[i].score;
break;
}
}
}