題目1471:合並符串時間限制:1 秒 內存限制:128 兆 特殊判題:否 提交:22 解決:13 題目描述: 給定兩個字符串S1和S2,合並成一個新的字符串S。 合並規則為,S1的第一個字符為S的第一個字符,將S2的最後一個字符作為S的第二個字符; 將S1的第二個字符作為S的第三個字符,將S2的倒數第二個字符作為S的第四個字符,以此類推。 輸入: 包含多組測試數據,每組測試數據包含兩行,代表長度相等的兩個字符串S1和S2(僅由小寫字母組成,長度不超過100)。 輸出: 合並後的新字符串S 樣例輸入: abc def樣例輸出: afbecd來源: 2011年西北工業大學計算機研究生機試真題 [cpp] /********************************* * 日期:2013-2-25 * 作者:SJF0115 * 題號: 九度OJ 題目1471:合並符串 * 來源:http://ac.jobdu.com/problem.php?pid=1471 * 結果:AC * 來源:2011年西北工業大學計算機研究生機試真題 * 總結: **********************************/ #include<stdio.h> #include<limits.h> #include<string.h> int main(){ int i,j,len1,len2,k; char S1[101],S2[101],S[250]; while(scanf("%s",S1) != EOF){ //輸入 scanf("%s",S2); len1 = strlen(S1); len2 = strlen(S2); k = 0; for(i = 0,j = len2-1;i < len1 || j >= 0;){ if(i < len1){ S[k++] = S1[i++]; } if(j >= 0){ S[k++] = S2[j--]; } } //輸出 for(i = 0;i < len1+len2;i++){ printf("%c",S[i]); } printf("\n"); } return 0; } /********************************* * 日期:2013-2-25 * 作者:SJF0115 * 題號: 九度OJ 題目1471:合並符串 * 來源:http://ac.jobdu.com/problem.php?pid=1471 * 結果:AC * 來源:2011年西北工業大學計算機研究生機試真題 * 總結: **********************************/ #include<stdio.h> #include<limits.h> #include<string.h> int main(){ int i,j,len1,len2,k; char S1[101],S2[101],S[250]; while(scanf("%s",S1) != EOF){ //輸入 scanf("%s",S2); len1 = strlen(S1); len2 = strlen(S2); k = 0; for(i = 0,j = len2-1;i < len1 || j >= 0;){ if(i < len1){ S[k++] = S1[i++]; } if(j >= 0){ S[k++] = S2[j--]; } } //輸出 for(i = 0;i < len1+len2;i++){ printf("%c",S[i]); } printf("\n"); } return 0; }