字符串连接

来源:互联网 发布:对象数组的地址 编辑:程序博客网 时间:2024/06/06 20:03

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

Time Limit: 1000MS Memory Limit: 65536KB

Problem Description

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

Input

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

Output

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

Example Input

123654abssfg

Example Output

123654abssfg
#include<iostream>#include<string>#include<string.h>#include<cstring>using namespace std;const int maxsize = 110;class String{char str[maxsize + 1];public:int size;String();void Creat(string);bool  Concat( String ,String);void Print();};String::String()               //构造函数初始化{size = 0;}void String::Creat(string str1){int len = str1.size();int i;for (i = 0; i < len; i++)str[i] = str1[i];str[i] = '\0';size = len;}bool String::Concat(String str1, String str2)             //字符串连接的三种情况{if (str1.size + str2.size <= maxsize){int i, j;for (i = 0; i < str1.size; i++)str[i] = str1.str[i];for (j = 0; j < str2.size; j++)str[j + i] = str2.str[j];str[j + i] = '\0';size = str1.size + str2.size;return true;}if (str1.size +str2.size>maxsize){int i, j;for (i = 0; i < str1.size; i++)str[i] = str1.str[i];for (j = 0; j < maxsize - str1.size-1; j++)str[i + j] = str2.str[j];str[i + j] = '\0';size = i + j;return false;}if (str1.size == maxsize){int i;for (i = 0; i < str1.size; i++)str[i] = str1.str[i];str[i] = '\0';size = maxsize;return false;}}void String::Print(){for (int i = 0; i < size; i++)cout << str[i];cout << endl;}int main(){String S;String str1, str2;string s1, s2;while (cin >> s1 >> s2){String();str1.Creat(s1); str2.Creat(s2);    S.Concat(str1, str2);    S.Print();}return 0;}


原创粉丝点击