如何用C 實現對姓名按拼音排序

2023-02-11 06:55:35 字數 2641 閱讀 9393

1樓:覃松濤

這裡的要點在ascii值,每個字母都有對應的ascii值,所以只需比較姓名的ascii值就可以了(如果按照abc的順序排列就是按照ascii值從小到大排列),

#include

#include

void main()

;//定義四個字串

char *p[4];

for(int y=0;y<4;y++)

for(int i=0;i<3;i++)}}for(int k=0;k<4;k++)

cout<

2樓:池言貊亙

儘管國標的漢字型檔本身在設計時,就已經按拼音對常用字進行排序了。但是真要嚴格地按拼音排序,我個人認為還是需要一個漢字對應拼音的hash連結串列作為排序的基礎,這樣才能精確地排序。你所需要的,也是這樣的一個資料結構。

3樓:

如果直接用標準庫就簡單了

string str;

vectorvstr;

cin>>str;

vstr.push_back(str);

//排序

sort(vstr.begin(), vstr.end());

4樓:

直接用strcmp函式就行了

c++如何將姓名按拼音排序

5樓:匿名使用者

儘管國標的漢字型檔本身在設計時,就已經按拼音對常用字進行排序了。但是真要嚴格地按拼音排序,我個人認為還是需要一個漢字對應拼音的hash連結串列作為排序的基礎,這樣才能精確地排序。你所需要的,也是這樣的一個資料結構。

6樓:

gbk 是按拼音排序的。

轉換為 gbk 編碼,然後按數值排序即可。

c++如何讓輸入的名字按拼音排序 100

7樓:風氺大師

,「鍵入」是指擊鍵的動作即鍵盤操作的過程,而「輸入」則是把所...vc++/c++ 漢字取拼音首字母 這兩天花了點時間,專案中要求從漢字姓名中

8樓:

要使用gbk編碼轉化儲存自排序即

9樓:匿名使用者

一個sort函式不可以了嗎?

c++高手,按百家姓將姓名排序(解決加滿分)

10樓:

我直接按創新的要求提供思路:

準備工作:

將百家姓按順序存放在一個文字檔案a.txt中,姓與姓之間有一個相同的符號間隔,方便檔案指標查詢,如趙,錢,孫,李,周……

程式思路:(部分資料定義省略)

採用檔案的方式開啟百家姓,並建立字串陣列s[100]來儲存這100個姓,

for(i=99;i>=0;i--)

{s[i]=t;(t是用檔案指標獲取各個姓的字串陣列,獲取方法按找到分隔符號為結束來將資料相加,此處省略)

}這樣就將100個姓的順序和對應的數字排出來了,並且s[i],中的i值代表姓的整數,方便按大小排序。

輸入模組,用一個字串陣列儲存輸入的各個姓名,此處省略。

輸出模組,用輸出函式輸出輸入時的各個姓名,並輸出排序後的字串陣列姓名,此處省略。

關鍵是排序模組。

這裡只需要用到字串比對就可以了,假設輸入姓名字串陣列為j[i],先取其第一個字與s[i]比較,如果相等記錄i值,並將其存放在另一個字串陣列中同姓相互連線,加一個分隔符號儲存。這樣就把姓相同的人名放在了某一個字串,通過比較i值就可以分出順序,再把姓相同的人名進行比較排出同姓的順序,這個只需要把s[i]中人名的字串直接進行比較按字串大小排列就可以了。

不知道你懂沒有。!

11樓:手機使用者

這個題其實很簡單,用列舉型別enum就可以很簡單的解決問題

c++用冒泡法排序名字時,按拼音首字母排的話,要怎麼比較首字母

12樓:匿名使用者

按asic碼 其實你只要用strcmp()函式就行了

13樓:double_聰

用函式strcmp()

這是用法

在c++中字元怎麼按照26個英文字母進行排序?

14樓:

#include

#include

int main()

tmp=s[i];

s[i]=s[k];

s[k]=tmp;

}puts(s);

return 0;}

15樓:嘿若

char x,y;

int a;

x='d';

y='a';

a=x-y;

printf("%d",a);以上面一段程式為例,輸出結果是3;

在c語言裡,字元對應ascii碼,只要比較他們的ascii碼就能排序了。

16樓:匿名使用者

26個英文字母在機器中轉為ascⅱ碼進行處理

如何用C語言實現dirabc 功能

include include include define rp f 需要進行查詢的目錄 define fa 需要查詢的檔案型別 void find char c,file fp tmp 255 strcpy tmp,c while dr dr findnext fb while df int m...

c如何用textbox實現兩個數相除

將輸入值轉換為decimal型別是為了方便後面的計算 decimal decquantity decimal.parse textbox1.text 數量 deimal decamount decimal.parse textbox2.text 金額 decimal decprice decquan...

如何用c語言建立連結串列實現增刪改查

include include include 先定義一種student型別,表示一個學生的資訊,如下 typedef struct student student 定義一種node型別,表示一個結點資訊,如下 typedef struct node node 1 寫出建立一個帶頭結點的線性連結串列...