数据结构串的比较

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
int i=0,j=0,x,y ;
long p=0,q=0;
printf("input_1:");输入两个字符串
gets(m.ch);
printf("input_2:");
gets(n.ch);
x=strlen(m.ch);y=strlen(n.ch);获取串的长度
if(x>Βιβλιοθήκη Baidu)长度比较
{for(i=0;i<x;i++)
{if(m.ch[i]!=n.ch[j])取两个串当中第一个不相同的字符
{p=m.ch[i];q=n.ch[j];
break; }j++;}
}
else
{for(j=0;j<y;j++)
{if(m.ch[i]!=n.ch[j])
{p=m.ch[i];q=n.ch[j];
break; }i++;
}}
if(p>q||(p==q&&x>y))
{printf("%s",m.ch);printf(" is biger !") ;判断,并输出
}
else if(q>p||(p==q&&x<y))
{
printf("%s",n.ch);printf(" is biger !");}
else if(x==y&&i==x&&j==y)
{printf("%s",m.ch);printf(" is equal to ");puts(n.ch) ;
上机5
设计strcmp(s,t)算法,实现两个串和的比较
代码:
#include<stdio.h>
#include<string.h>
#include<conio.h>
typedef struct{定义串结构
char ch[20];
int length;
}Hstring;
void main()
{Hstring m,n;
}
getch();
}
小结:本程序是先输入两个任意字符串(不超过20个),然后将其依次逐个比较其中的字符,
找出第一个不同的字符,进行比较,得出字符的大小,即就是两字符串的大小,运行结果如下:
程序的问题:我在定义字符串结构是,定义有length这个整形变量,留作方便去字符串的长度,和确定字符的位置。可是当我调用他的时候,却发现length里面不是我所想要的值(他是一个不正常的值,应该是内存中的随机初始值)。由于我发现用gets函数比较方便,当我在获取字符串的同时,length没有办法为其赋值,所以我就没有用length而是用strlen函数代替了他的功能。
相关文档
最新文档