提供算法可以么。。1.放入4個(gè)字符串?dāng)?shù)組比較A[i]
創(chuàng)新互聯(lián)建站公司2013年成立,是專(zhuān)業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目成都網(wǎng)站建設(shè)、成都做網(wǎng)站網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢(mèng)想脫穎而出為使命,1280元墨江做網(wǎng)站,已為上家服務(wù),為墨江各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話(huà):028-86922220
B[i]
C[i]
D[i]
2.設(shè)置index數(shù)組初始化為index{0};在一輪A
B
C
D
比較后設(shè)置已分出順序的字符串
設(shè)置其下標(biāo),最小設(shè)置為1。其余類(lèi)推選出仍然為0的index[]繼續(xù)1
2
循環(huán)
直到分出全部下標(biāo)
若2數(shù)組相同則按照數(shù)組顯示順序排
C語(yǔ)言字符串對(duì)比可以調(diào)用標(biāo)準(zhǔn)庫(kù)函數(shù)strcmp。
該函數(shù)聲明在string.h中,形式為
int strcmp(char *a, char *b);
返回值有三種情況,1,0或-1.
其比較原則為:
1 從第一個(gè)字符開(kāi)始按照ascii碼值比較,如果a的比b的大,返回1;如果a的比b的小,返回-1;如果相等,繼續(xù)比較下一個(gè)字符。
2 當(dāng)遇到任意一個(gè)字符串達(dá)到尾部(值為\0),退出比較過(guò)程。
3 如果長(zhǎng)度相等,即二者均達(dá)到\0,返回0,此時(shí)表示二者相等。
4 如果a的長(zhǎng)度大,返回1,否則返回-1。
在C語(yǔ)言中比較字符串大小,可以使用庫(kù)函數(shù)strcmp,也可以自己編寫(xiě)比較函數(shù)。
1、使用庫(kù)函數(shù)。
需要包含頭文件string.h。聲明為:
int strcmp(const char *s1, const char *s2);
會(huì)根據(jù)字典序比較s1和s2, 如果二者相等,則返回0;如果s1較小則返回-1;如果s1較大則返回1。
比如
strcmp("123", "123") 結(jié)果為0。
strcmp("123", "456") 結(jié)果為-1。
strcmp("456", "123") 結(jié)果為1。
2、自定義函數(shù)。
實(shí)現(xiàn)字符串比較的方法有很多,其基本原理為按字節(jié)比較。
舉例如下:
int?my_strcmp(char?*s1,?char?*s2)
{
int?i;
for(i?=?0;?s1[i]?==?s2[i]??s1[i]!=0;?i++);//循環(huán)比較,達(dá)到結(jié)束或者出現(xiàn)不相等值時(shí)退出循環(huán)。?
if(s1[i]?==?s2[i])?return?0;//代表全部相等,返回0
if(s1[i]s2[i])?return?-1;//s1較小,返回-1。
return?1;//s1較大,返回1.
}
C語(yǔ)言中用strcmp函數(shù)比較字符和字符串是否相等。
strcmp函數(shù)功能是比較兩個(gè)字符串的大小,返回比較的結(jié)果。
函數(shù)形式:strcmp(str1,str2)
參數(shù)說(shuō)明:str1,str2可以是字符串常量或變量。
結(jié)果說(shuō)明:
①返回值小于0,說(shuō)明str1小于str2。
②返回值等于0,說(shuō)明str1與str2相等。
③返回值大于0,s說(shuō)明str1大于str2。
從左到右,依次比較字母的ASCII碼的大小,遇到不同字符或'\0'結(jié)束。
基本形式:strcmp(str1,str2)
str1=str2時(shí),返回零;str1str2時(shí),返回負(fù)數(shù);str1str2時(shí),返回正數(shù)。
比如Apple和Banana比較,先比較第一個(gè)字母A和B,A的ASCII碼是65,B的是66,所以AppleBanana。
compare和computer比較,前4個(gè)字母相同,第五個(gè)字母a和u,a的ASCII碼是97,u的是117,所以comparecomputer。
擴(kuò)展資料:
特別注意:
strcmp(const char *s1,const char * s2)這里面只能比較字符串,即可用于比較兩個(gè)字符串常量,或比較數(shù)組和字符串常量,不能比較數(shù)字等其他形式的參數(shù)。
ANSI標(biāo)準(zhǔn)規(guī)定,返回值為正數(shù),負(fù)數(shù),0 。而確切數(shù)值是依賴(lài)不同的C實(shí)現(xiàn)的。
1、當(dāng)兩個(gè)字符串不相等時(shí),C標(biāo)準(zhǔn)沒(méi)有規(guī)定返回值會(huì)是1 或 -1,只規(guī)定了正數(shù)和負(fù)數(shù)。
2、有些會(huì)把兩個(gè)字符的ASCII碼之差作為比較結(jié)果由函數(shù)值返回。但無(wú)論如何不能以此條依據(jù)作為程序中的流程邏輯。