主要考察c++的熟练运用,
#include<iostream>
#include<stdio.h>
#include<String.h>
#include<algorithm>
using namespace std;
struct Student{
char number[20];
char name[10];
char sex[10];
int age;
bool operator < (const Student &A)const{
return strcmp(number,A.number) < 0;
}
}buf[1000];
int search(char c[20],int n2){
int i = 0;
int n = n2;
while(i <= n){
int mid = (i + n) / 2;
if(strcmp(buf[mid].number,c)==0){
printf("%s %s %s %d\n",buf[mid].number,buf[mid].name,buf[mid].sex,buf[mid].age);
break;
}
if(strcmp(buf[mid].number,c)<0){
i = mid + 1;
}
if(strcmp(buf[mid].number,c)>0){
n = mid - 1;
}
}
cout<<"no"<<endl;
}
int main(){
int n;
while(scanf("%d",&n)!=EOF){
for(int i = 0; i < n; i++){
scanf("%s %s %s %d",&buf[i].number,&buf[i].name,&buf[i].sex,&buf[i].age);
}
sort(buf,buf+n);
int n2;
for(int i = 0; i < n; i++){
printf("%s %s %s %d\n",buf[i].number,buf[i].name,buf[i].sex,buf[i].age);
}
scanf("%d",&n2);
for(int i = 1; i <= n2; i++){
char c[20];
scanf("%s",&c);
search(c,n);
}
}
}```