本题要实现的程序功能是: ①从键盘上先后读入两个字符串,存储在字符数组str1和str2中。注意,这两个字符串最长均可达到32个字符、最短均可为0个字符。 ②将字符串str2插入字符串str1中。 ③在屏幕上输出新生成的str1。
函数接口定义:
void conj(char *s1, char *s2);
裁判测试程序样例:
#include <stdio.h>
#include <string.h>
#define N 32
void conj(char *s1, char *s2);
int main(void)
{
char str1[N * 2], str2[N];
gets(str1);
gets(str2);
conj(str1, str2);
printf("After conj string1:%s\n", str1);
return 0;
}
/* 请在这里填写答案 */
输入样例:
在这里给出一组输入。例如:
123456789
abcdefghijklmn
输出样例:
在这里给出相应的输出。例如:
1a2b3c4d5e6f7g8h9ijklmn
void conj(char *s1, char *s2)
{
int i,j;
int a[N];
int n=0;
for(i=0;s1[i]!='\0';i++)
{
a[i]=s1[i];
}
a[i]='\0';
for(i=0,j=0;a[i]!='\0'&&s2[j]!='\0';)
{
if(n%2==0)
s1[n++]=a[i++];
else
s1[n++]=s2[j++];
}
while(a[i]!='\0')
s1[n++]=a[i++];
while(s2[j]!='\0')
s1[n++]=s2[j++];
s1[n]='\0';
}