B1004 成绩排名 20分
题目描述:
思路:
①:前面说信息连接体可以用结构体来做,这里也是信息连接体类的题目。
②:取分数最小值和最大值一一比较并且赋值,结构体赋值。
代码描述:
#include<cstdio>
struct node{
char name[15];
char num[15];
int score;
}e,ans_max,ans_min;
int main()
{
int n;
ans_max.score=-1;
ans_min.score=101;
while(scanf("%d",&n)!=EOF){
scanf("%s%s%d",&e.name,&e.num,&e.score);
if(e.score>ans_max.score) ans_max=e;
if(e.score<ans_min.score) ans_min=e;
}
printf("%s %s\n",ans_max.name,ans_max.num);
printf("%s %s\n",ans_min.name,ans_min.num);
return 0;
}
当然,也可以不使用结构体,但比较麻烦
代码描述:
#include<cstdio>
#include<cstring>
#include<bits/stdc++.h>
using namespace std;
string name1,name2,name;
string num1,num2,num;
int score;
int main()
{
int n,max=-1,min=110;
while(scanf("%d",&n)!=EOF){
cin>>name>>num>>score;
if(max<score){
name1=name;
num1=num;
max=score;
}
if(min>score){
name2=name;
num2=num;
min=score;
}
}
cout<<name1<<" "<<num1<<endl;
cout<<name2<<" "<<num2<<endl;
// printf("%s %s %d\n",name2,num2,min);
return 0;
}