定长顺序串的基本运算
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
串的定长顺序存储及基本运算
程序代码如下:
#include
#include
#define maxsize 30
typedef char SString[maxsize];
void StrConcat(SString s1,SString s2,SString s){ //串连接
int i,j,len1,len2;
i=0;
len1=strlen(s1);
len2=strlen(s2);
if(len1+len2>maxsize-1){
cout<<"合并后的串长太大,无法完成字符串的合并!"< return; } j=0; while(s1[j]!='\0'){ s[i]=s1[j]; i++;j++; } j=0; while(s2[j]!='\0'){ s[i]=s2[j]; i++;j++; } s[i]='\0'; } void StrSub(SString t,SString s,int i,int len){ int j,slen; slen=strlen(s); if(i<1||i>slen||len<0||len>slen+i-1){ cout<<"参数不对!"< return; } for(j=0;j t[j]=s[i+j-1]; t[j]='\0'; } void StrCompare(SString s1,SString s2){ int i=strcmp(s1,s2); if(i==0){ cout<<"两字符串相等!"< return; } else if(i>0){ cout<<"前面的字符串比较大!"< return; } else cout<<"后面的字符串比较大!"< void Show_SString(SString s){ int i=strlen(s),j; j=0; while(j<=i-1){ cout< } cout< } void main(){ SString s1,s2,ss,sss; cout<<"请输入字符串:"< cin>>s1>>s2; cout<<"输出未合并之前的字符串:"< Show_SString(s1);Show_SString(s2); StrConcat(s1,s2,ss); Show_SString(ss); StrSub(sss,s1,2,3); Show_SString(sss); StrCompare(s1,s2); }