编一程序,将两个字符串连接起来,不用strcat函数,给个思想吧!

keyinwind 2002-11-04 02:29:08
我按照数据结构书上给的算法写的,没有写完

#define MAXSTRLEN 255
#include<stdio.h>
#include<string.h>


typedef unsigned char SString[MAXSTRLEN+1];//0号单元存放串的长度

main()
{
printf("input the first string :\n);
scanf("%s :\n",&string1);
printf("input the second string :\n);
scanf("%s :\n",&string2);
Concat(T,string1,string2);

}

string Concat(SString &T ,SString S1,SString S2)
{
if(S1[0]+S2[0]<=MAXSTRLEN)
{
T[1..S1[0]] = S1[1..S1[0]];
T[S1[0]+1..S1[0]+S2[0]] = S2[1..S2[0]];
T[0]=S1[0]+S2[0];
}
}

上面的代码只给出了T够大,S2未被截断的情况
我的问题是:
if(S1[0]+S2[0]<=MAXSTRLEN)
{
T[1..S1[0]] = S1[1..S1[0]];
T[S1[0]+1..S1[0]+S2[0]] = S2[1..S2[0]];
T[0]=S1[0]+S2[0];
}
这一步怎样写出来
我这么写(但是有问题!):
if (strlen(S1)+strlen(S2)<=MAXSTRLEN)
{ for(int i=1;i<=strlen(S1);i++)
T[i]=S1[i];
T[strlen(S1)+i]=S2[i];
T[0]=S1[0]+S2[0];
}
但是无法实现!
该怎么改? 哪里可以下载到 谭老 C程序设计 的课后习题的答案? 急用!
另外请帮忙丢上杨辉三角的算法! 拜谢!

...全文
1103 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
zxm954712 2002-11-04
  • 打赏
  • 举报
回复
杨辉三角算法:
for(i=3; i< 行数; i++)
for(j =2 ; j <= i-1; j++)
a[i][j] = a[i-1][j-1] + a[i-1][j];
tanyangbin 2002-11-04
  • 打赏
  • 举报
回复
int j;
if (strlen(s1)+strlen(s2)<=maxstrlen)
{ for(int i=1;i<=strlen(S1);i++)
t[j++]=s1[i];
for(int i=1;i<=maxstrlen;i++)
t[j++]=s2[i];
t[0]=s1[0]+s2[0];
}
zxm954712 2002-11-04
  • 打赏
  • 举报
回复
可以这样啊,S1[0]表示S1的长度,S2[0]表示S2的长度:
if (S1[0] + S2[0] <= MAXSSTRLEN) {
for(int iFor=1; iFor <= S1[0]; iFor++) {
T[iFor] = S1[iFor];
}
for(iFor=1; iFor<= S2[0]; iFor++) {
T[S1[0]+iFor] = S2[iFor];
}
T[0] = S1[0] + S2[0];
}
black_snail 2002-11-04
  • 打赏
  • 举报
回复
哪里可以下载到 谭老 C程序设计 的课后习题的答案: SSREADER
if (strlen(S1)+strlen(S2)<=MAXSTRLEN)
{ for(int i=1;i<=strlen(S1);i++)
T[i]=S1[i];
T[strlen(S1)+i]=S2[i];
T[0]=S1[0]+S2[0];
}
--->
if (strlen(S1)+strlen(S2)+1<=MAXSTRLEN)
{ for(int i=0;i<=strlen(S1);i++)
T[i]=S1[i];
T[strlen(S1)+i]=S2[i];
T[0]=S1[0]+S2[0];
}
大家好,我是大飞哥。处理 PDF 文件时,我们常遇到无法精准删除内容、编辑功能单一、操作繁琐的痛点 —— 传统 PDF 工具要么仅支持简单文本修改,要么删除后易留痕迹,难以适配 “精准擦除 + 补充编辑” 的需求。PDF Eraser 是一款聚焦PDF 内容精准擦除与轻量编辑的专业工具,核心使命是通过灵活的擦除方式、丰富的编辑功能与简洁操作,让用户轻松清理 PDF 冗余内容、补充自定义信息,为办公人群、内容创作者、学生党打造一站式 PDF 轻编辑方案,实现 “擦除精准、编辑便捷、适配多场景” 的价值主张。 一、核心功能:擦除 + 编辑双维覆盖 这款工具的核心能力围绕 “精准清理 + 轻量补充” 展开: 多方式擦除:支持 “橡皮擦工具”(适配图像、Logo 等非文本内容)与 “删除区域工具”(适配文本内容),可按需选择小 / 中 / 大尺寸橡皮擦,或自定义像素级擦除范围,即使是扫描版 PDF 也能精准清理冗余内容; 轻量编辑补充:擦除后可添加自定义文字(支持字体、颜色、大小调整)、插入新图片,还能对 PDF 页面进行旋转、删除,覆盖 “清理 - 补充 - 整理” 全流程; 细节适配:支持背景色匹配擦除(避免白边痕迹)、PDF 页面缩放预览,确保操作精准度,同时兼容 Windows 全系统,文件体积仅 7.6MB,轻量化无负担。 二、适配场景:覆盖办公与日常需求 这款工具的实用性在多场景中尤为突出: 办公人群:处理合同、报告等 PDF 时,可擦除敏感信息(如隐私数据、冗余水印),补充最新内容,无需依赖复杂的 PDF 编辑器; 学生党:整理课件 PDF 时,删除无关内容、添加笔记文字,让资料更简洁聚焦; 内容创作者:修改 PDF 版教程、手册时,替换旧 Logo、擦除过时信息,插入新素材,快速更新文档版本; 普通用户:处理扫描版 PDF 时,清理污渍、手写痕迹,让文档更整洁规范。 三、操作逻辑:极简流程,新手易上手 工具采用 “打开 - 操作 - 保存” 的线性流程,无需专业技能: 打开 PDF:点击 “打开 PDF” 选择文件,支持预览页面列表; 擦除内容:选中文本用 “删除区域工具” 框选,选中图像用 “橡皮擦工具” 涂抹,可自定义擦除尺寸; 补充编辑:点击 “添加文字 / 图片”,调整字体、颜色等参数后插入内容; 整理保存:旋转 / 删除多余页面,点击 “保存 PDF”(建议另存避免覆盖原文件)。 全程界面功能分区清晰,擦除效果实时预览,即使是首次使用也能快速完成操作。 四、优势:轻量高效,精准适配需求 相较于专业 PDF 编辑器,PDF Eraser 的核心优势在于 **“轻量 + 精准”**: 它打破了 “专业工具功能冗余、操作复杂” 的局限,聚焦 “擦除 + 轻编辑” 核心需求,比 Adobe Acrobat 更轻便易上手; 擦除功能区分文本与图像场景,比普通 PDF 工具的 “统一删除” 更精准,还能匹配背景色避免痕迹; 7.6MB 的轻量化体积,启动速度快、资源占用低,适配快速处理 PDF 的场景,无需等待大型软件加载。 软件标签 #PDF Eraser #PDF 内容擦除工具 #轻量 PDF 编辑器 #办公 PDF 处理 #敏感信息清理工具 #PDF 页面管理;不同长度标题:30 字:PDF Eraser|精准擦除 PDF 内容,轻量编辑补充信息;60 字:PDF Eraser:支持文本 / 图像精准擦除,可添加文字图片,适配办公、学习等 PDF 轻编辑场景;80 字:PDF Eraser:轻量高效的 PDF 擦除与编辑工具,精准清理冗余内容、补充自定义信息,是办公与日常的实用工具。大飞哥软件自习室荣誉出品|每日严选检测,病毒零容忍,好用无套路精品软件放心用只推好用的!

70,039

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧