十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
提供算法可以么。。1.放入4个字符串数组比较A[i]
创新互联建站公司2013年成立,是专业互联网技术服务公司,拥有项目成都网站建设、成都做网站网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元墨江做网站,已为上家服务,为墨江各地企业和个人服务,联系电话:028-86922220
B[i]
C[i]
D[i]
2.设置index数组初始化为index{0};在一轮A
B
C
D
比较后设置已分出顺序的字符串
设置其下标,最小设置为1。其余类推选出仍然为0的index[]继续1
2
循环
直到分出全部下标
若2数组相同则按照数组显示顺序排
C语言字符串对比可以调用标准库函数strcmp。
该函数声明在string.h中,形式为
int strcmp(char *a, char *b);
返回值有三种情况,1,0或-1.
其比较原则为:
1 从第一个字符开始按照ascii码值比较,如果a的比b的大,返回1;如果a的比b的小,返回-1;如果相等,继续比较下一个字符。
2 当遇到任意一个字符串达到尾部(值为\0),退出比较过程。
3 如果长度相等,即二者均达到\0,返回0,此时表示二者相等。
4 如果a的长度大,返回1,否则返回-1。
在C语言中比较字符串大小,可以使用库函数strcmp,也可以自己编写比较函数。
1、使用库函数。
需要包含头文件string.h。声明为:
int strcmp(const char *s1, const char *s2);
会根据字典序比较s1和s2, 如果二者相等,则返回0;如果s1较小则返回-1;如果s1较大则返回1。
比如
strcmp("123", "123") 结果为0。
strcmp("123", "456") 结果为-1。
strcmp("456", "123") 结果为1。
2、自定义函数。
实现字符串比较的方法有很多,其基本原理为按字节比较。
举例如下:
int my_strcmp(char *s1, char *s2)
{
int i;
for(i = 0; s1[i] == s2[i] s1[i]!=0; i++);//循环比较,达到结束或者出现不相等值时退出循环。
if(s1[i] == s2[i]) return 0;//代表全部相等,返回0
if(s1[i]s2[i]) return -1;//s1较小,返回-1。
return 1;//s1较大,返回1.
}
C语言中用strcmp函数比较字符和字符串是否相等。
strcmp函数功能是比较两个字符串的大小,返回比较的结果。
函数形式:strcmp(str1,str2)
参数说明:str1,str2可以是字符串常量或变量。
结果说明:
①返回值小于0,说明str1小于str2。
②返回值等于0,说明str1与str2相等。
③返回值大于0,s说明str1大于str2。
从左到右,依次比较字母的ASCII码的大小,遇到不同字符或'\0'结束。
基本形式:strcmp(str1,str2)
str1=str2时,返回零;str1str2时,返回负数;str1str2时,返回正数。
比如Apple和Banana比较,先比较第一个字母A和B,A的ASCII码是65,B的是66,所以AppleBanana。
compare和computer比较,前4个字母相同,第五个字母a和u,a的ASCII码是97,u的是117,所以comparecomputer。
扩展资料:
特别注意:
strcmp(const char *s1,const char * s2)这里面只能比较字符串,即可用于比较两个字符串常量,或比较数组和字符串常量,不能比较数字等其他形式的参数。
ANSI标准规定,返回值为正数,负数,0 。而确切数值是依赖不同的C实现的。
1、当两个字符串不相等时,C标准没有规定返回值会是1 或 -1,只规定了正数和负数。
2、有些会把两个字符的ASCII码之差作为比较结果由函数值返回。但无论如何不能以此条依据作为程序中的流程逻辑。