参考链接:数据结构与算法题目集7-27——家谱处理
1 #include <iostream> 2 #include <string> 3 #include <cstring> 4 #include <cstdio> 5 #include <map> 6 7 using namespace std; 8 9 int main() 10 { 11 int n1, n2; 12 cin >> n1 >> n2; 13 getchar();//需要吸收回车符,否则下面读入名字的时候会将' '先读入 14 map<string, int> s_to_i;//名字字符串到读入顺序的映射 15 //map<int, string> i_to_s; 16 int space_num[200] = {0}; 17 for (int i = 0; i < n1; i++) 18 { 19 int j = 0;//字符在数组中的下标 20 int space_cnt = 0;//暂时记录人名字前的空格数 21 char t_name[20];//暂时储存读入名字 22 while (1)//循环读取名字的字符 23 { 24 char ch = getchar();//键盘读入字符 25 if (ch == ' ') 26 { 27 t_name[j] = '