中文名字字典排序c語言,中文名字字典排序c語言怎麼寫

本文目錄一覽:

求高人指教,C語言中,漢字姓名怎麼按字典順序排列

字典是按照拼音排序的,沒有現成的拼音排序功能。

你可以自己做鍵值表對應啊。就是做數據,把百家姓和其拼音組合對應的表,可以用文件存儲,也 可以用數據庫存儲,或者乾脆直接寫在代碼了,用結構數組或鏈表加載。

然後需要排序的時候,直接用結構數組或鏈表排序啊。

如果你除了姓,連名字都要算在排序中,那你得把整個漢字字典的文字都做成鍵值表,別人起名字用什麼字,誰能知道。那你這就純粹是數據問題了。

我剛才試了一下百度搜索,百度文庫里有現成的漢字拼音對照表,你可以試試,全不全我就不知道了。

C語言:輸入10個姓並按字典序的升序排序

#include stdio.h

#include string.h

struct xing//用來存放姓的結構體

{

char name[20];

};

void main()

{

int i,j;

char str[20];

struct xing ren[10];//結構體數組,用來建立多少個人來存放的

for (i=0;i10;i++)

{

printf (“請輸入第 %d 姓: “,i+1);

scanf (“%s”,ren[i].name);

}

for (i=1;i10;i++)

for (j=0;j10-i;j++)

{

if (strcmp(ren[j].name,ren[j+1].name)=0)

{

strcpy(str,ren[j].name);

strcpy(ren[j].name,ren[j+1].name);

strcpy(ren[j+1].name,str);

}

}

printf (“按字典序的升序排序為:\n”);

for (i=0;i10;i++)

printf (“%s\n”,ren[i].name);

}

C語言中漢字如何進行排序?

C語言中,漢字是按照字符串來處理的,一個漢字佔用2個位元組,漢字的排序就是按照漢字的編碼進行排序(不是拼音),而是半個漢字的ASCII碼進行排序的。

所以在輸出漢字的時候,如果按照位元組輸出,而不按照字符串輸出的話,就會出現亂碼。

具體漢字的編碼,就不是那麼容易的了。編碼一般以0x開頭,表示是用一個十六進制數表示的。

c語言按中文姓名排序問題

#include stdio.h

void sort_name(Staff *p) {

int i,j,max;

Staff b;

for(i = 0;i T – 1;i++) { // 應該是T – 1,不是T

max = i;

for(j = i + 1;j T;j++) {

if(strcmp((p + max)-name,(p + j)-name) 0)

max = j;

}

if(max != i) {

b = *(p + max);

*(p + max) = *(p + i);

*(p + i) = b;

}

} // 這兒添加了”}”

for(i = 0;i T;i++) {

printf(“%s “,(p + i)-id);

printf(“%s “,(p + i)-name);

printf(“%s “,(p + i)-sex);

printf(“%d %d %d “,(p + i)-data.year,(p + i)-data.month,(p + i)-data.day);

printf(“%.2lf “,(p + i)-post_wage);

printf(“%.2lf “,(p + i)-subsidies);

printf(“%.2lf “,(p + i)-withholding);

putchar(‘\n’);

}

}

C語言編程題:輸入6個人的名字,將它們按字典排序後輸出

#includestdio.h

#includestring.h

int main(){

    char name[6][20];

    char temp[20];

    printf(“請輸入6個人的名字:\n”);

    int i;

    for (i = 0; i 6; i++){

        gets(name[i]);

    }

    printf(“\n\n這六個人的名字如下:\n”);

    for (i = 0; i 6; i++){

        printf(“%s “, name[i]);

    }

    printf(“\n\n”);

    printf(“按字典排序後如下所示:\n”);

    int j, k;

    for (j = 0; j 6; j++)

        for (k = j + 1; k 6; k++)

        {

            if (strcmp(name[j], name[k])0)

            {

                strcpy(temp, name[j]);

                strcpy(name[j], name[k]);

                strcpy(name[k], temp);

            }

        }

for (i = 0; i 6; i++)

printf(“%s “, name[i]);

}

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/253938.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-14 02:19
下一篇 2024-12-14 02:19

相關推薦

  • Python字典去重複工具

    使用Python語言編寫字典去重複工具,可幫助用戶快速去重複。 一、字典去重複工具的需求 在使用Python編寫程序時,我們經常需要處理數據文件,其中包含了大量的重複數據。為了方便…

    編程 2025-04-29
  • AES加密解密算法的C語言實現

    AES(Advanced Encryption Standard)是一種對稱加密算法,可用於對數據進行加密和解密。在本篇文章中,我們將介紹C語言中如何實現AES算法,並對實現過程進…

    編程 2025-04-29
  • 學習Python對學習C語言有幫助嗎?

    Python和C語言是兩種非常受歡迎的編程語言,在程序開發中都扮演着非常重要的角色。那麼,學習Python對學習C語言有幫助嗎?答案是肯定的。在本文中,我們將從多個角度探討Pyth…

    編程 2025-04-29
  • Python讀取中文

    Python是一種高級編程語言,被廣泛地應用於各種領域中。而處理中文數據也是其中重要的一部分。本文將介紹在Python中如何讀取中文,為大家提供指導和幫助。 一、讀取中文文件 在P…

    編程 2025-04-29
  • Python被稱為膠水語言

    Python作為一種跨平台的解釋性高級語言,最大的特點是被稱為”膠水語言”。 一、簡單易學 Python的語法簡單易學,更加人性化,這使得它成為了初學者的入…

    編程 2025-04-29
  • Python中取出字典中對應鍵的值

    如何使用Python在字典中獲取特定鍵的值?這是Python編程中必須掌握的技能之一。本文將通過多個方面來詳細講解Python如何取出字典中對應鍵的值。 一、通過鍵名獲取值 當我們…

    編程 2025-04-29
  • Python如何遍歷字典中的key和value

    本文將詳細講解Python中如何遍歷字典中的key和value,包括多種遍歷方式以及在遍歷過程中的一些應用場景。 一、遍歷字典中的key和value 在Python中,字典是一種無…

    編程 2025-04-29
  • jQuery Datatable分頁中文

    jQuery Datatable是一個非常流行的數據表插件,它可以幫助您快速地在頁面上創建搜索、過濾、排序和分頁的數據表格。不過,它的默認設置是英文的,今天我們就來探討如何將jQu…

    編程 2025-04-29
  • OpenJudge答案1.6的C語言實現

    本文將從多個方面詳細闡述OpenJudge答案1.6在C語言中的實現方法,幫助初學者更好地學習和理解。 一、需求概述 OpenJudge答案1.6的要求是,輸入兩個整數a和b,輸出…

    編程 2025-04-29
  • Python計算中文字符個數

    本文將從多個方面對Python計算中文字符個數進行詳細的闡述,包括字符串長度計算、正則表達式統計和模塊使用方法等內容。 一、字符串長度計算 在Python中,計算字符串長度是非常容…

    編程 2025-04-29

發表回復

登錄後才能評論