1、問題就是“對字符串排列順序”吧? 應(yīng)該就是 “對字符串順序排列吧?”這不就是考算法嘛。冒泡法什么的。
堅(jiān)守“ 做人真誠 · 做事靠譜 · 口碑至上 · 高效敬業(yè) ”的價(jià)值觀,專業(yè)網(wǎng)站建設(shè)服務(wù)10余年為成都成都辦公窗簾小微創(chuàng)業(yè)公司專業(yè)提供成都定制網(wǎng)站營銷網(wǎng)站建設(shè)商城網(wǎng)站建設(shè)手機(jī)網(wǎng)站建設(shè)小程序網(wǎng)站建設(shè)網(wǎng)站改版,從內(nèi)容策劃、視覺設(shè)計(jì)、底層架構(gòu)、網(wǎng)頁布局、功能開發(fā)迭代于一體的高端網(wǎng)站建設(shè)服務(wù)。
2、C語言中,漢字是按照字符串來處理的,一個(gè)漢字占用2個(gè)字節(jié),漢字的排序就是按照漢字的編碼進(jìn)行排序,而是半個(gè)漢字的ASCII碼進(jìn)行排序的。漢字字典順序是按拼音排序的。
3、字典是按照拼音排序的,沒有現(xiàn)成的拼音排序功能。你可以自己做鍵值表對應(yīng)啊。就是做數(shù)據(jù),把百家姓和其拼音組合對應(yīng)的表,可以用文件存儲,也 可以用數(shù)據(jù)庫存儲,或者干脆直接寫在代碼了,用結(jié)構(gòu)數(shù)組或鏈表加載。
4、如果是想學(xué)習(xí)一下算法,用c語言不錯(cuò)。如果是實(shí)際使用需要,就用現(xiàn)成的木頭超級字典生成器(MutouDic),工具集里有一個(gè)排列字典工具,可以生成任意個(gè)元素,任意長度的升序排列、降序排列和全排列。
/*比較笨重的冒泡排序法,用到string中的串比較strcmp和串拷貝strcpy。amount是字符串的數(shù)量,length是字符串的長度,不管你是否習(xí)慣這么寫,這樣表示都是有好處的。我的編譯器是visual studio 2008 C++。
1:你一道題復(fù)制三遍是啥意思?2:從main開始,定義5個(gè)字符指針用來存放字符串。p是臨時(shí)變量。用來排序時(shí)用的 i,j是循環(huán)計(jì)數(shù)器。m是臨時(shí)變量。進(jìn)入循環(huán)后,用戶輸入5個(gè)字符串。這些字符串被保存在t中。
usingnamespacestd;intmain(){ stringa1[5];//定義一個(gè)字符串?dāng)?shù)組。
程序中有兩處出現(xiàn)*point_1和*point_2,但是兩者含義不同。程序第5行的*point_1和*point_2表示定義兩個(gè)指針變量*point_1和*point_2。它們前面的“*”只是表示該變量是指針變量。
用二維數(shù)組記錄書名,再聲明一個(gè)指針數(shù)組并使各元素分別指向各書名,然后對指針數(shù)組元素按其指向的書名的字典順序排序。這樣比直接拷貝書名的效率會高些。
聲明一個(gè)字符串指針數(shù)組存放每個(gè)字符串的首地址,調(diào)用庫函數(shù)qusort按題目要求對字符串指針排序,不移動源字符串。關(guān)鍵是要設(shè)計(jì)一個(gè)好的比較函數(shù),精巧地解決“按長度、長度相等時(shí)按大小”排序的問題。
/ char temp=string[i+1];string[i+1]=string[i];string[i]=temp;/ string[i]是個(gè)字符串,char temp中,temp是一個(gè)字符,所以會出錯(cuò)!字符串交換不能用=來賦值。
直接借助冒泡排序,選擇排序即可進(jìn)行字符串的排序,但是需注意的是,字符串的比較需要借助strcmp函數(shù)完成,而字符串的復(fù)制需要借助strcpy函數(shù)完成。
二維數(shù)組的定義、初始化和輸出,C語言二維數(shù)組詳解 二維數(shù)組與一維數(shù)組相似,但是用法上要比一維數(shù)組復(fù)雜一點(diǎn)。后面的編程中,二維數(shù)組用得很少,因?yàn)槎S數(shù)組的本質(zhì)就是一維數(shù)組,只不過形式上是二維的。