• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

陈体胖

  • 博客园
  • 联系
  • 订阅
  • 管理

公告

View Post

算法笔记练习 3.6 字符串处理 问题 A: 字符串连接

算法笔记练习 题解合集

题目链接

题目

题目描述
不借用任何字符串库函数实现无冗余地接受两个字符串,然后把它们无冗余的连接起来。

输入
每一行包括两个字符串,长度不超过100。

输出
可能有多组测试数据,对于每组数据,
不借用任何字符串库函数实现无冗余地接受两个字符串,然后把它们无冗余的连接起来。
输出连接后的字符串。

样例输入
abc def

样例输出
abcdef

思路

用两个字符数组 in1,in2 分别接收两个字符串,把 in2 连接到 in1 后面。

细节:

  1. in1 需要两倍长度;
  2. 连接完成后主动在最后加'\0'。

代码

#include <stdio.h>
#define MAX 110
int main(){
	char in1[MAX*2], in2[MAX];  // 把in2连接到in1后面,in1需要两倍长度 
	char *p, *q;
	while (scanf("%s", in1) != EOF){
		scanf("%s", in2);
		p = in1;
		q = in2;
		while (*p)
			++p;
		while (*q){
			*p = *q;
			++p;
			++q;
		}
		*p = '\0';  // 注意自己加上\0,以便输出 
		puts(in1); 
	} 
	return 0;
} 

posted on 2020-03-24 13:22  陈体胖  阅读(159)  评论(0)    收藏  举报

刷新页面返回顶部
 
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3