将给定的字符串连接起来。书中的算法描述如下: 图:字符串连接算法 输入
输入包括多对字符串,每对字符串占一行,用空格隔开。每个字符串只包含数字和英文字母大小写且长度不超过100。 输出
将后一个字符串连接到前一个字符串后面,如果结果字符串长度超过100,输出一行“Result String is cutted.”否则将结果字符串输出来。 样例输入
hello acmclub
123 456
doyour best
样例输出
helloacmclub
123456
doyourbest
提示
hello acmclub
123 456
doyour best
helloacmclub
123456
doyourbest
*** 提示已隐藏,点击此处可显示 ***
[ 提交][ 状态]
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
typedef struct
{
char *data;
int length;
}String;
String Concat(char S1[100],char S2[100],int S1_len,int S2_len)
{
int i;
String S;
S.length=S1_len+S2_len;
S.data=(char *)malloc((S1_len+S2_len)*sizeof(char));
for(i=0;i<S1_len;i++)
S.data[i]=S1[i];
for(i=0;i<S2_len;i++)
S.data[i+S1_len]=S2[i];
return S;
}
int main()
{
int i,S1_len,S2_len;
char S1[128],S2[128];
String S;
while(scanf("%s%s",S1,S2)!=EOF)
{
S1_len=strlen(S1);
S2_len=strlen(S2);
S=Concat(S1,S2,S1_len,S2_len);
if(S.length>100)
printf("Result String is cutted.");
else
for(i=0;i<S.length;i++)
printf("%c",S.data[i]);
printf("\n");
}
return 0;
}