c++的题目 哪位大神帮忙填一下,再分析一下过程俶

2025-04-09 13:10:17
推荐回答(1个)
回答1:

#include
#include
using namespace std;
int main(){
 char s1[20],s2[20],t[20];//t是中间数组,用于存储s2,而s2为最终输出
 cin.getline(s1,9);//获取字符数组输入,最多8个字符,最后一个为‘\0’
 cin.getline(s2,9);
 strcpy(t,s2);//将s2拷贝到t中
 int i=0,j=0;
 while(s1[i]!='\0' && t[i]!='\0'){//当两个字符数组都未到末尾时
  s2[j++]=s1[i];
  s2[j++]=t[i];
  i++;
 }
 if(t[i]=='\0'){//当s1数组还有字符未插入s2,直接全部插入,本质就是s1和t长度不一样
  while(s1[i]) s2[j++]=s1[i++];
 }
 else{//当t数组还有字符未插入s2,直接全部插入
  while(t[i]) s2[j++]=t[i++];
 }
    cout<}