//结构体的student,记住字符串是string! 然而string 有别于char! 不用[] //Mymap[键]=实例化 #include<cstdio> #include<string> #include<map> using namespace std; //一步一步准备数据 struct Student { //学生信息不用 键 string name; //注意,字符串直接string string gender; int age; }; int main() { int n; scanf("%d", &n); map<string, Student>Mymap; for (int i = 0; i < n; i++) { Student A; char keyy[30]; //键 char name[30]; char gender[30]; int age; scanf("%s %s %s %d", keyy, name, gender, &age); string name1 = name; string gender1 = gender; string keyy1=keyy; //c-->c++ A.age = age; //1 C语言读取--- 2 c-->c++----3 Student 读入 A.name = name1; A.gender=gender1; Mymap[keyy1] = A; } int nn; //查询 scanf("%d",&nn); for (int i = 0; i < nn; i++) { char numbers[30]; scanf("%s",numbers); string numbers1 =numbers; if(Mymap.find(numbers1)!=Mymap.end()){ printf("%s %s %s %d\n",numbers1.c_str(), Mymap[numbers1].name.c_str(), Mymap[numbers1].gender.c_str(), Mymap[numbers1].age); } else { printf("No Answer!\n"); } } } // 64 位输出请用 printf("%lld")