将給定的字元串連接配接起來。書中的算法描述如下:
字元串連結 圖:字元串連接配接算法 輸入
輸入包括多對字元串,每對字元串占一行,用空格隔開。每個字元串隻包含數字和英文字母大小寫且長度不超過100。 輸出
将後一個字元串連接配接到前一個字元串後面,如果結果字元串長度超過100,輸出一行“Result String is cutted.”否則将結果字元串輸出來。 樣例輸入
hello acmclub
123 456
doyour best
樣例輸出
helloacmclub
123456
doyourbest
提示
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsIyZwpmLx81N0cTMn1Waw9CX0ADNxAjMvwFZh9GbwV3LcVmbpxmbPV2ZkVnSvwFMwEjL1UTMuQjLyAjMvw1LcpDc0RHaiojIsJye.jpg)
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;
}