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

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

Time Limit: 1000MS Memory limit: 65536K

题目描述

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

输入

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

输出

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

示例输入

123
654
abs
sfg
 

示例输出

123654
abssfg
#include <iostream>
#include <algorithm>
#include <cstring>
#include <cstdio>
#define sqtrmax 110
using 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++;
    }
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值