成绩排名 (20分)
总结:
- 用max存储当前最高成绩,min存储当前最低成绩。
- 特例:第一个学生:①成绩=100,初始max<100<初始min,初始化min=101,而不能是100。 ②成绩=0,初始max<0<初始min,初始化min=-1,而不能是0。
- 在线处理:
- name,num,score:当前输入学生的姓名、学号、成绩。
- maxname,maxnum,max:当前成绩最高学生的姓名、学号、成绩。
- minname,minnum,min:当前成绩最低学生的姓名、学号、成绩。
代码:
#include <iostream>
#include <cstring>
using namespace std;
int main(){
int n;
cin>>n;
string maxnum, maxname, minname, minnum, num, name;
int max=-1, min=101, score;//0 100可取到 初值设置-1和101
for(int i=0; i<n; i++){
cin>>name>>num>>score;
if(score > max){
max = score;
maxname = name;
maxnum = num;
}
if(score < min){
min = score;
minname = name;
minnum = num;
}
}
cout<<maxname<<" "<<maxnum<<endl <<minname<<" "<<minnum;
return 0;
}