# 结合两个字符串 写一个结合两个字符串的方法,从第一个字符串中取出一个字符,然后从第二个字符串中取出一个字符,以此类推。一旦一个字符串没有字符,它就应该继续使用另一个字符串 输入:两个字符串,如s1="day"和s2="time" 输出:一个结果字符串,对于上面的输入情况,它将是“dtaiyme”。 以下程序实现了这一功能,请你填补空白处的内容: ```cpp #include #include using namespace std; string StrCon(const string& a, const string& b) { string c; int n = a.size(), m = b.size(); if (0 == n) return a; if (0 == m) return b; int i, j; for (i = 0, j = 0; i < n && j < m; ++i, ++j) { c += a[i]; c += b[i]; } __________________; return c; } int main() { string s = "day", t = "time"; cout << StrCon(s, t) << endl; system("pause"); return 0; } ``` ## template ```cpp #include #include using namespace std; string StrCon(const string& a, const string& b) { string c; int n = a.size(), m = b.size(); if (0 == n) return a; if (0 == m) return b; int i, j; for (i = 0, j = 0; i < n && j < m; ++i, ++j) { c += a[i]; c += b[i]; } while (i < n) c += a[i++]; while (j < m) c += b[j++]; return c; } int main() { string s = "day", t = "time"; cout << StrCon(s, t) << endl; system("pause"); return 0; } ``` ## 答案 ```cpp while (i < n) c += a[i++]; while (j < m) c += b[j++]; ``` ## 选项 ### A ```cpp while (i > n) c += a[i++]; while (j < m) c += b[j++]; ``` ### B ```cpp while (i > n) c += a[i++]; while (j > m) c += b[j++]; ``` ### C ```cpp while (i < n) c += a[i++]; while (j > m) c += b[j++]; ```