首页 > 试题广场 >

字符串链接

[编程题]字符串链接
  • 热度指数:7793 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 64M,其他语言128M
  • 算法知识视频讲解
不用strcat 函数,自己编写一个字符串链接函数MyStrcat(char dstStr[],charsrcStr[])

输入描述:
两个字符串,字符串由小写字母组成。


输出描述:
链接后的字符串
示例1

输入

hello world
good morning

输出

helloworld
goodmorning

python solution

import sys
for i in sys.stdin.readlines():
    print(i.strip().replace(" ",""))
发表于 2017-09-08 10:49:34 回复(0)
#include<bits/stdc++.h>
void MyStrcat(char dstStr[],char srcStr[]){
    printf("%s%s\n",dstStr,srcStr);
}
int main(){
    char dstStr[100]={}, srcStr[100]={};
    while(scanf("%s %s ",dstStr,srcStr)!=EOF)
        MyStrcat(dstStr,srcStr);
    return 0;
}
编辑于 2019-03-04 13:44:37 回复(0)
import java.util.Scanner;
import java.util.ArrayList;
public class Main{
    public static void main(String[] args){
        char[] ch = new Scanner(System.in).nextLine().toCharArray();
        ArrayList al = new ArrayList();
        for(int i=0;i<ch.length;i++){
            if(' ' != ch[i]){
                al.add(ch[i]);
            }
        }
        for(int i=0;i<al.size();i++){
            System.out.print(al.get(i));
        }
    }
}

发表于 2018-08-03 02:23:06 回复(0)
#include<stdio.h>
#include<string.h>

void MyStrcat(char dstStr[], char srcStr[]);

int main()
{
    char s1[200], s2[100];
    while(scanf("%s %s", s1, s2) == 2){
        MyStrcat(s1, s2);
        printf("%s\n", s1);
    }
    return 0;
}

void MyStrcat(char dstStr[], char srcStr[])
{
    int len1, len2;
    len1 = strlen(dstStr);
    len2 = strlen(srcStr);
    
    for(int i = 0; i < len2; ++i)
        dstStr[len1++] = srcStr[i];
    dstStr[len1] = '\0';
}

发表于 2018-07-23 15:04:57 回复(0)
#include<bits/stdc++.h>
using namespace std;
int main(){
    char ch1[300],ch2[300];
    while(cin>>ch1>>ch2){
        int len1=strlen(ch1),len2=strlen(ch2),len=len1+len2;
        char* ch=new char[len];
        for(int i=0;i<len1;i++)
            ch[i]=ch1[i];
        for(int i=len1;i<len;i++)
            ch[i]=ch2[i-len1];
        cout<<ch<<endl;
    }
}

发表于 2020-01-13 16:18:48 回复(0)
白给题  直接傻瓜式输入输出
#include <iostream>
#include <stdio.h>
#include <string.h>
using namespace std;
int main(void)
{
    string ch[2];
    while(cin>>ch[0]>>ch[1]){
        cout<<ch[0]<<ch[1]<<endl;
    }
    return 0;
}
发表于 2019-11-14 23:37:11 回复(0)
#include<stdio.h>
char* MyStracat(char dstStr[],char srcStr[]){
	char result[10000];
	int index=0;
	int i=0;
	while(dstStr[i]!='\0'){
		result[index]=dstStr[i];
		index++;
		i++;
	}
	int j=0;
	while(srcStr[j]!='\0'){
		result[index]=srcStr[j];
		j++;
		index++;
	}
	result[index]='\0';
	return result;
}

int main(){
	char str1[1000],str2[1000];
	while(scanf("%s %s",str1,str2)!=EOF){
		char* mystr=MyStracat(str1,str2);
		int i=0;
		while(mystr[i]!='\0'){
			printf("%c",mystr[i]);
			i++;
		}
		printf("\n");
	}
	
}

发表于 2016-10-29 10:02:06 回复(0)
#include <stdio.h>
#include <string.h>
using namespace std;

int main() {
	char str[1000];
	while (gets(str)) {
		int len = strlen(str);
		for (int i = 0; i < len; i++)
			if (str[i] != ' ')
				printf("%c", str[i]);
		printf("\n");
	}
	return 0;
}
/*想直接用getchar,但是不知道咋退出循环了。。。*/

发表于 2019-09-07 14:31:30 回复(0)

include<iostream>

using namespace std;
int main(){
char str1[500],str2[500];
char str3[1000];
while(cin>>str1>>str2){
int l1=0,l2=0,l3=0;
while(str1[l1]!='\0')
str3[l3++]=str1[l1++];
while(str2[l2]!='\0')
str3[l3++]=str2[l2++];
for(int i=0;i<l3;i++)
cout<<str3[i];
cout<<endl;

}
return 0;

}

发表于 2018-03-20 13:19:00 回复(0)
#include<iostream>
#include<string>
using namespace std;
int main(){
    string s1,s2;
    while(cin>>s1>>s2)
        cout<<s1<<s2<<endl;
    return 0;
}

发表于 2017-08-11 20:00:46 回复(8)
#include<stdio.h>
int main (){//the shorter,the better.
    char s1[100],s2[100];
    for(;~scanf("%s%s",s1,s2)&&printf("%s%s\n",s1,s2););
}

发表于 2018-01-14 16:07:06 回复(0)
????
#include<iostream>
using namespace std;
int main()
{
    string str1,str2;
    while(cin>>str1>>str2)
    {
        cout<<str1<<str2<<endl;
    }
}

发表于 2022-03-02 23:38:00 回复(0)
#include<stdio.h>
int main()
{
    char a[100],b[100],c[100];
    scanf("%s%s",a,b);
    strcpy(c,a);
    int n=strlen(a);
    strcpy(c+n,b);
    printf("%s",c);
}

发表于 2020-04-08 14:33:38 回复(0)
#include <iostream>
#include <string>
using namespace std;
int main() {
    string str;
    while((getline(cin, str))){
        int pos=str.find(' ');
        str.erase(pos, 1);  //从pos开始删除1个元素
        cout << str << endl;
    }
}

编辑于 2024-03-08 14:16:21 回复(0)
#include <iostream>
#include <string>
using namespace std;

int main() {
    string str1, str2;
    while (cin >> str1 >> str2) {
        cout << str1 + str2 << endl;
    }
    return 0;
}

发表于 2024-02-02 12:25:23 回复(0)


#include <iostream>
using namespace std;

int main() {
    string s;
    while(getline(cin,s)){
        for(int i=0;i<s.length();i++){
            if(s[i]==' '){
                s.erase(i,1);
            }
        }
        cout<<s<<endl;
    }
}

发表于 2023-03-15 20:31:27 回复(0)
用string里的 完成字符串拼接
#include <cstdio>
#include <string>
using namespace std;

int main(){
    char a[100];
    char b[100];
    while(scanf("%s %s",a,b) != EOF){
        string sa = a;
        string sb = b;
        string str = sa+sb;
        printf("%s\n",str.c_str());
    }
    return 0;
}


发表于 2023-03-12 20:10:00 回复(0)
#include <stdio.h>

int my_strlen(char *str) {
    char *p = str;
    while ( *str++ );
    return str - p - 1;
}

char *MyStrcat(char *dstStr, char *srcStr) {
    char *temp = dstStr;
    while ( *dstStr++);
    dstStr--; // 因为上一行代码,先判断*dstStr为'\0'后, 再dstStr++,需要减1  
    while ( *dstStr++ = *srcStr++);
    return temp;
}

int main() {
    char s1[400] = {0};
    char s2[100] = {0};
    while (scanf("%s%s", s1,s2) != EOF) 
    {
        printf("%s\n", MyStrcat(s1, s2));
    }
    return 0;
}
// 64 位输出请用 printf("%lld")

发表于 2023-02-10 13:21:57 回复(0)
#include<stdio.h>
#include<string.h>

void MyStract(char a[],char b[])
{
	int len=strlen(a);
	for(int i=0;i<strlen(b);i++)
		a[len++]=b[i];
	a[len]='\0';
}

int main()
{
	char a[100];
	char b[100];
	while(scanf("%s%s",a,b)!=EOF)
	{
		MyStract(a,b);
		printf("%s\n",a);
	}
	return 0;
}

发表于 2022-03-22 16:34:51 回复(0)
# include <iostream>
# include <string>

using namespace std;

void MyStrcat(string str1,string str2);
int main()
{
    string str1,str2,str3;
    while(cin>>str1>>str2)
    {
        MyStrcat(str1,str2);
    }
    return 0;
 } 
 
 void MyStrcat(string str1,string str2)
 {
     int k=0;
     string str3;
     for(int i=0;i<str1.size();i++)
     {
         str3[k++]=str1[i];
     }
     for(int i=0;i<str2.size();i++)
     {
         str3[k++]=str2[i];
     }
    for(int i=0;i<k;i++)
    {
        cout<<str3[i];
    }
    cout<<endl;
 }
发表于 2022-02-20 14:28:23 回复(0)