编一程序,将两个字符串连接起来,不用strcat函数,给个思想吧!
我按照数据结构书上给的算法写的,没有写完
#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程序设计 的课后习题的答案? 急用!
另外请帮忙丢上杨辉三角的算法! 拜谢!