没有合适的资源?快使用搜索试试~ 我知道了~
数据结构C语言串的基本操作.doc
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 80 浏览量
2022-06-25
10:31:08
上传
评论
收藏 229KB DOC 举报
温馨提示
试读
20页
数据结构C语言串的基本操作.doc
资源推荐
资源详情
资源评论
串的基本操作
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
#define m 100
typedef struct{
char ch[m];
int length;
}Hstr;
void main()
{
Hstr *l,*p,*r;
char c,w;
int h,j,k;
int i=0;
l=(Hstr *)malloc(sizeof(Hstr));
p=(Hstr *)malloc(sizeof(Hstr));
r=(Hstr *)malloc(sizeof(Hstr));
l->length=0;
p->length=0;
r->length=0;
printf("请选择相关操作(数字 1~5 控制,输入 0 结束)");
printf("--------------1.建立串---------------");
printf("--------------2.显示串长度-----------");
printf("--------------3.生成与原来相同的串---");
printf("--------------4.串比较---------------");
printf("--------------5.串连接---------------");
printf("--------------6.返回值---------------");
scanf("%c",&w);
getchar();
while(w)
{
switch(w)
{
case '1':{printf("请输入字符(#结束):");
scanf("%c",&c);
while(c!='#')
{ l->length++;
l->ch[i]=c;
i++;
scanf("%c",&c);
}
printf("串中字符为\n");
for(i=0;i<l->length;i++)
printf("%c",l->ch[i]);
printf("\n");
}break;
case '2':{
printf("串长度为%d\n",l->length);}break;
case '3':{
for(i=0;i<l->length;i++)
{
p->ch[i]=l->ch[i];
}
p->length=l->length;
printf("复制的串中字符为\n");
for(i=0;i<p->length;i++)
printf("%c",p->ch[i]);
printf("\n");
}break;
case '4':{i=0;
printf("请输入要与原串比较的字符串(#结束):\n");
scanf("%c",&c);
while(c!='#')
{ r->length++;
r->ch[i]=c;
i++;
scanf("%c",&c);
}
printf("第二个串中字符为\n");
for(i=0;i<r->length;i++)
printf("%c",r->ch[i]);
printf("\n");
for(i=0;i<r->length&&i<l->length;i++)
{
if(l->ch[i]!=r->ch[i])
{if((l->ch[i]-r->ch[i])<0){printf("第二个串大"); printf("\n");}
if((l->ch[i]-r->ch[i])>0){printf("第一个串大"); printf("\n");}
break;}
}
if(i==r->length||i==l->length)printf("两个串一样大\n");
}break;
case'5':{i=0;
printf("请输入要与原串连接的串(#结束)\n");
scanf("%c",&c);
while(c!='#')
{r->length++;
r->ch[i]=c;
i++;
scanf("%c",&c);
}
printf("第二个串中字符为\n");
for(i=0;i<r->length;i++)
printf("%c",r->ch[i]);
printf("\n");
for(i=0,j=0;i<r->length;i++,j++)
l->ch[l->length+i]=r->ch[j];
l->length=l->length+r->length;
printf("连接后第一个串中字符为\n");
for(i=0;i<l->length;i++)
printf("%c",l->ch[i]);
printf("\n");
}break;
case '6':{
i=0;
printf("请输入要找串的起始位置(第几个字符?)\n");
scanf("%d",&h);
printf("请输入要找的字符个数\n");
scanf("%d",&k);
printf("内容为:\n");
for(i=0;i<k;i++)
{
printf("%c",l->ch[h-1]);
h++;
}
printf("\n");
}break;
剩余19页未读,继续阅读
资源评论
智慧安全方案
- 粉丝: 3652
- 资源: 59万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功