C语言编程练习6:墓碑上的字符

思路:

  用一个新的字符数组存组合后的新字符串,先把第一串字符串的前半部分存入新字符串,然后把第二串字符串全部存入,最后存入第一串字符串的后半部分。

#include <stdio.h>
#include <iostream>
#include <cstring>

using namespace std;

int main()
{
	int n;
	scanf("%d",&n);
	getchar();//取换行符
	while(n--)
	{
		char s1[51],s2[51],s3[102];//定义三个字符串用于接收输入的字符串以及输出的新字符串
		gets(s1);
		gets(s2);
		int l1 = (int)strlen(s1);
		int l2 = (int)strlen(s2);
		int i;
		for(i = 0;i < l1 + l2;i++)//遍历新字符串的长度次
		{
			if(i < l1/2)
			{
				s3[i] = s1[i];//第一串字符串的前半部分进入新字符串
			}
			else if(i >= l1/2 && i < l1/2+l2)
			{
				s3[i] = s2[i-l1/2];//第二串字符串全部进入新字符串
			}
			else
			{
				s3[i] = s1[i-l2];//第一串字符串后半部分进入新字符串
			}
		}
		s3[i] = '';//结束新字符串
		puts(s3);
	}
	return 0;
}
原文地址:https://www.cnblogs.com/FantasticDoubleFish/p/14304865.html