数据结构的串操作
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
printf("*\t2:求串长度操作\n");
printf("*\t3:串的赋值操作\n");
printf("*\t4:串的链接操作\n");
printf("*\t5:串的比较操作\n");
printf("*\t6:输出串内容\n");
printf("*\t7:任意键结束程序\n");
printf("*-----------------------------------*\n");
{
char ch;
for(int i=0;i<10;i++)
{
scanf("%c",&ch);
if(SS.S[i]!='\0')
SS.S[i]=ch;
else
break;
}
}
//串的输出..
void Print(SString &SS)
{
printf("%s",SS.S);
}
//主函数..
int main()
char S2[10]={'f','f','f','k','k','k','j','j'};
while(flag)
{
printf("*-----------------------------------*\n");
printf("*\t请选择需要的操作:\n");
printf("*\t1:初始化串操作\n");
#include<stdio.h>
#include<string.h>
#define MAX 100
typedef struct
{
char S[MAX]; //有一个字符类型的数组..
}SString;
//初始化操作..
void InitStr(SString &SS)
{
for(int i=0;i<MAX;i++)
scanf("\t%c",&n);
switch(n)
{
case '1':
Iቤተ መጻሕፍቲ ባይዱitStr(SS);
printf("初始化了!\n");
break;
case '2':
len=Length_Str(SS);
printf("串的长度为:%d\n",len);
break;
case '3':
StrEvaluate(SS,S1);
int len2=Length_Str(S3);
if(len1+len2+1<MAX)
{
for(int i=len1;i<len1+len2+1;i++)
SS.S[i]=S3.S[i-len1];
}
else
{
printf("长度超过最大长度了!");
}
}
//串的比较操作实现..
int StrComp(SString SS,SString S1)
void StrEvaluate(SString &SS,char S2[])
{
for(int i=0;S2[i]!='\0';i++)
{
SS.S[i]=S2[i];
}
}
//串的链接操作..
void StrConcat(SString &SS,SString &S3)
{
int len1=Length_Str(SS);
{
SS.S[i]='\0';
}
}
//求串的长度..
int Length_Str(SString SS) //这是字符数组的长度..所以参数一定是数组名..
{
int length=0;
while(SS.S[length]!='\0')
{
length++;
}
return length;
}
//串的赋值操作实现..
printf("串的赋值成功!\n");
break;
case '4':
printf("请输入要链接的串S6:");
In_Str(S6);
StrConcat(SS,S6);
printf("链接成功!");
printf("\n");
break;
case '5':
k=StrComp(SS,S6);
printf("%d\n",k);
{
char *ysn;
char *sn;
sn="1001-1618-2903";
scanf("%s",ysn);
if(strcmp(ysn,sn))
{
printf("register succeed");
SString SS,S6;
int len,k,flag=1;
char n,S1[10]={'a','k','l','k','j','g','g'};
break;
case '6':
Print(SS);
printf("\n");
break;
case '7':
flag=0;
printf("任意键结束程序!");
}
getchar();
}
}
else
printf("register lose");
//exit();
return 0;
}
{
int i=0;
while(SS.S[i]==S1.S[i]&&SS.S[i]!='\0')
{
i++;
}
if(SS.S[i]>S1.S[i])
return 1;
else if(SS.S[i]<S1.S[i])
return -1;
else
return 0;
}
//输入
void In_Str(SString SS)
printf("*\t3:串的赋值操作\n");
printf("*\t4:串的链接操作\n");
printf("*\t5:串的比较操作\n");
printf("*\t6:输出串内容\n");
printf("*\t7:任意键结束程序\n");
printf("*-----------------------------------*\n");
{
char ch;
for(int i=0;i<10;i++)
{
scanf("%c",&ch);
if(SS.S[i]!='\0')
SS.S[i]=ch;
else
break;
}
}
//串的输出..
void Print(SString &SS)
{
printf("%s",SS.S);
}
//主函数..
int main()
char S2[10]={'f','f','f','k','k','k','j','j'};
while(flag)
{
printf("*-----------------------------------*\n");
printf("*\t请选择需要的操作:\n");
printf("*\t1:初始化串操作\n");
#include<stdio.h>
#include<string.h>
#define MAX 100
typedef struct
{
char S[MAX]; //有一个字符类型的数组..
}SString;
//初始化操作..
void InitStr(SString &SS)
{
for(int i=0;i<MAX;i++)
scanf("\t%c",&n);
switch(n)
{
case '1':
Iቤተ መጻሕፍቲ ባይዱitStr(SS);
printf("初始化了!\n");
break;
case '2':
len=Length_Str(SS);
printf("串的长度为:%d\n",len);
break;
case '3':
StrEvaluate(SS,S1);
int len2=Length_Str(S3);
if(len1+len2+1<MAX)
{
for(int i=len1;i<len1+len2+1;i++)
SS.S[i]=S3.S[i-len1];
}
else
{
printf("长度超过最大长度了!");
}
}
//串的比较操作实现..
int StrComp(SString SS,SString S1)
void StrEvaluate(SString &SS,char S2[])
{
for(int i=0;S2[i]!='\0';i++)
{
SS.S[i]=S2[i];
}
}
//串的链接操作..
void StrConcat(SString &SS,SString &S3)
{
int len1=Length_Str(SS);
{
SS.S[i]='\0';
}
}
//求串的长度..
int Length_Str(SString SS) //这是字符数组的长度..所以参数一定是数组名..
{
int length=0;
while(SS.S[length]!='\0')
{
length++;
}
return length;
}
//串的赋值操作实现..
printf("串的赋值成功!\n");
break;
case '4':
printf("请输入要链接的串S6:");
In_Str(S6);
StrConcat(SS,S6);
printf("链接成功!");
printf("\n");
break;
case '5':
k=StrComp(SS,S6);
printf("%d\n",k);
{
char *ysn;
char *sn;
sn="1001-1618-2903";
scanf("%s",ysn);
if(strcmp(ysn,sn))
{
printf("register succeed");
SString SS,S6;
int len,k,flag=1;
char n,S1[10]={'a','k','l','k','j','g','g'};
break;
case '6':
Print(SS);
printf("\n");
break;
case '7':
flag=0;
printf("任意键结束程序!");
}
getchar();
}
}
else
printf("register lose");
//exit();
return 0;
}
{
int i=0;
while(SS.S[i]==S1.S[i]&&SS.S[i]!='\0')
{
i++;
}
if(SS.S[i]>S1.S[i])
return 1;
else if(SS.S[i]<S1.S[i])
return -1;
else
return 0;
}
//输入
void In_Str(SString SS)