1樓:匿名使用者
如果單純比較長度,直接呼叫類似於strlen()之類的函式就可以,加以比較即可.
如果比較字串的大小,則比較的是字元的ascii編碼的大小.你搜尋一下ascii碼表就可以得知每乙個ascii字元的大小. 參考http:
//www.wpyz.net/noip/11-1.
asp在比較時,設定乙個計數器,從零開始,一直迴圈到最短的那個字元結束,一位一位進行比較,
1.如果 字串1的第n位的ascii碼值 等於 字串2的第n位的ascii碼值
則 繼續比較下一位
2.如果 字串1的第n位的ascii碼值 大於 字串2的第n位的ascii碼值
則 輸出結果:1,表示字串1 > 字串2;
3.如果 字串1的第n位的ascii碼值 小於 字串2的第n位的ascii碼值
則 輸出結果:-1 表示字串1 < 字串2;
4.如果 每一位的ascii碼值都相等,而且長度相同,
則 輸出結果:0 表示字串1 == 字串2;
5.如果 字串1是字串2的前m位,例如 abcd 與abcdef 比較,
則 字串1《字串2.
原因是,到第5位時,字串1的ascii值是0,而字串2的ascii值為'e',即十進位制的101,當然是字串2大了.
具體到 cds和lesoqd
從第一位開始,'c'和'l'比較,當然是'c' < 'l'了,所以,"cds" < "lesoqd"
常用的幾位ascii的順序從小到大為:
0..9, a..z, a..z.
2樓:斂高爽公尺曜
intstrcmp(char
*s,char
*t)return(*s-*t);
///返回差值,如果*s大,返回正數,如果*t大,返回負數,如果相等,返回0}
3樓:匿名使用者
逐個比,遇到的每個字母對應比較大小,遇到第乙個不一樣的字元就返回比較的結果
4樓:妖獸甲
另外,如果是c++語言的話,要比較字串的大小就直接str1 5樓: 比大小,從頭乙個開始, 頭乙個誰大,這個字串就是 誰大。 如果第乙個一樣大,比第二個。 6樓:匿名使用者 是按字典順序來比較的, 就像查字典那樣, 返回在字典中前面的那個字串的指標 當然,是區分大小寫的 字串大小比較的規則? 7樓:陽光上的橋 比較的時候,從字串左邊開始,一次比較每個字元,直接出現差異、或者其中乙個串結束為止。 比如abc與acde比較,第乙個字元相同,繼續比較第二個字元,由於第二個字元是後面乙個串大,所以不再繼續比較,結果就是後面個串大。 再如abc與abc123比較,比較三個字元後第乙個串結束,所以就是後面乙個串大。 所以,長度不能直接決定大小,字串的大小是由左邊開始最前面的字元決定的。 8樓:匿名使用者 優先判斷大小,然後前面都相同了,再看長度了,呵呵 9樓:星辰 字串大小比較的規則就是根據你的要求去選**務按格式去的 在c語言中字串的大小怎麼比較啊? 10樓:灩麗 1、c語言中字元是使 用baichar來定義的,使du用關係運zhi算符(>,<,=)即可對字元dao 進行比較。內 2、容在編譯器中定義a、b兩個字元型變數,並為其賦值。 3、執行**後,我們可以得到如圖所示結果。1表示條件為真,0表示條件為假。 4、字串使用char來定義,可以使用strcmp()來判斷大小,也可以使用關係運算子(>,<,=)判斷大小。 5、使用strcmp()對字串進行比較大小時,需要引入標頭檔案string.h。 6、執行**後,我們可以得到如圖所示結果。:使用strcmp進行判斷時,返回結果為0,表示兩個字串相等。返回結果大於0,表示第乙個引數字串大。 返回結果小於0,表示第二個引數字串大。 11樓:萬物凋零時遇見 strcmp 原型:extern int strcmp(char *s1,char * s2); 用法:#include 功能 bai:比較字元du 串zhis1和s2。 說明: 當s1dao,返回版值權<0 當s1=s2時,返回值=0 當s1>s2時,返回值》0 即:兩個字串自左... 12樓:匿名使用者 先比第乙個字元的內碼,第乙個字元誰大就誰大,第乙個相同就比第二個,以此類推,比如「12」>"100"成立 13樓:賽雲席曜瑞 //輸入 任意乙個數字,轉換為字內符串輸出 容#include void main() ;printf("input anumber:"); scanf("%d", &n); sprintf(str, "%d", n);printf("the string is:[%s]\n", str);} 14樓:匿名使用者 strcmp(str1, str2); str1>str2 返回1, str1 < str2返回-1,str1 == str2 返回0 從第乙個字元開始比較它們ascii的大小 j**a中兩個字串如何比較大小 15樓:匿名使用者 有三種方法實現 第一種直接用字串類的compareto方法: string t1="20131011"; string t2="20131030"; int result = t1.compareto(t2); 第二種是把這個日期字串轉換成long: ******dateformat sdf = new ******dateformat("yyyymmdd"); date d1 = sdf.parse(t1); date d2 = sdf.parse(t2); long result = d1.gettime()-d2.gettime(); 第三種是把日期字串轉換成整形int: int int1 = integer.parseint(t1); int int2 = integer.parseint(t2); int result = int1-int2; 注:result大於0,則t1>t2; result等於0,則t1=t2; result小於0,則t1 16樓:藍天下的智者 你確定你就是比較日期嗎?如果單純的是日期,那麼你可以把它當做數字比較 如果是不確定的字串,那麼你是要比較什麼呢?長度,還是首字母?問題要明確 17樓: '20131011'.comapreto('20131030') 返回1表示大於,返回0表示相等,返回-1表示小於 千萬別把字串轉成啥日期或整數型別再比較,那會賊慢,迴圈1百萬遍就知道了 18樓: public class hello} 19樓:匿名使用者 使用 string.compareto 方法: compareto() 的返回值是int, 它是先比較對應字元的大小(ascii碼順序) 1、如果字串相等返回值0 2、如果第乙個字元和引數的第乙個字元不等,結束比較,返回他們之間的差值(ascii碼值)(負值前字串的值小於後字串,正值前字串大於後字串) 3、如果第乙個字元和引數的第乙個字元相等,則以第二個字元和引數的第二個字元做比較,以此類推,直至比較的字元或被比較的字元有一方全比較完,這時就比較字元的長度. 例: string s1 = "abc"; string s2 = "abcd"; string s3 = "abcdfg"; string s4 = "1bcdfg"; string s5 = "cdfg"; system.out.println( s1.compareto(s2) ); // -1 (前面相等,s1長度小1) system.out.println( s1.compareto(s3) ); // -3 (前面相等,s1長度小3) system.out.println( s1.compareto(s4) ); // 48 ("a"的ascii碼是97,"1"的的ascii碼是49,所以返回48) system.out.println( s1.compareto(s5) ); // -2 ("a"的ascii碼是97,"c"的ascii碼是99,所以返回-2) 20樓:婧失憶 比較出大小之後 想要顯示什麼嘛? 21樓:匿名使用者 先用integer.parseint()轉型,再相減就ok str 1 input 請輸入乙個字串 lower 0 upper 0 for i in str 1 if i.islower lower 1 elif i.isupper upper 1 print 有 s個大寫字母 upper print 有 s個小寫字母 lower 換證薇 str 1 inp... 墨汁諾 include include using namespace std bool ishw const string str char str 100 scanf s str if judge str printf yes n else 對於ab字串,本身不是回文串 反過來是字串 ba 但是... 城凝慶偉博 include define n100 intinput char a,char b 輸入兩個字串 intmy strcmp char a,char b 比較字串每個字元的大小 else if a b else if a 0 b 0 字串b比字串a長 else if a 0 b 0 字串...python中輸入字串,統計字串中大小寫英文本母各有多少
C 給定字串,新增若干字元,使得字串變為回文字串,請問怎樣能讓這個字串最短
編寫C語言函式,比較兩個字串的大小