串结构练习——字符串连接

来源:互联网 发布:哪个基金软件好 编辑:程序博客网 时间:2024/06/06 05:09

串结构练习——字符串连接

Time Limit: 1000MS Memory limit: 65536K

题目描述

 给定两个字符串string1和string2,将字符串string2连接在string1的后面,并将连接后的字符串输出。
连接后字符串长度不超过110。 

输入

 输入包含多组数据,每组测试数据包含两行,第一行代表string1,第二行代表string2。
 

输出

 对于每组输入数据,对应输出连接后的字符串,每组输出占一行。
 

示例输入

123654abssfg

示例输出

123654abssfg
#include <iostream>#include <algorithm>#include <cstring>#include <cstdio>#define sqtrmax 110using namespace std;typedef struct{    char *data;    int length;} sqtr;void StrAssign (sqtr &S, char *chars);void Concat (sqtr &T,sqtr S1,sqtr S2);void StrOutput(sqtr S) ;int main(){    int i=0,j;    sqtr S,T,S1;    char c[110],t[110],b,a;    while(cin>>c)    {       cin>>t;        StrAssign(S,c);        StrAssign(T,t);        Concat (S1,S,T);        StrOutput(S1);        cout<<endl;    }}void StrAssign (sqtr &S, char *chars){    int i;    S.data=(char *)malloc(sqtrmax *sizeof(char));    if(!S.data) exit(0);    for(i=0; chars[i]!='\0'; i++)    {        S.data[i]=chars[i];        //cout<<S.data[i];    }    S.length=i;    S.data[i]='\0';//注意}void Concat (sqtr &T,sqtr S1,sqtr S2){    T.length=S1.length+S2.length+1;    T.data=(char *)malloc(S1.length+S2.length *sizeof(char));    int j=0,k=0;    while(S1.data[j]!='\0') T.data[k++]=S1.data[j++];    j=0;    while(S2.data[j]!='\0') T.data[k++]=S2.data[j++];    T.data[k]='\0';}void StrOutput(sqtr S){    int i=0;    while(i<S.length-1)/***不输出‘/0’**/    {        cout<<S.data[i];        i++;    }}


0 0